diff --git a/CHANGELOG.md b/CHANGELOG.md index feb01f00f..9dc8fce80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,36 @@ See [README: Change Log: Unreleased](README.md#unreleased). +## Version 2.8.8 - 25th September 2017 + +### New Features + +### Updates + +* Renamed [Emitter#count](https://photonstorm.github.io/phaser-ce/Phaser.Particles.Arcade.Emitter.html#count) to [Emitter#counts](https://photonstorm.github.io/phaser-ce/Phaser.Particles.Arcade.Emitter.html#counts). Emitter#count is deprecated and will be removed in v2.9.0. +* Removed deprecated Phaser.Events#onRemovedFromWorld. + +### Bug Fixes + +* Fixed p2 polygon collisions (#366). +* Fixed a nonfatal error when clicking the game canvas in browsers not supporting [Document.hasFocus()](https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus) (e.g., Opera Mini, older Opera) (#367). In these browsers the game may not automatically resume when refocused in an iframe; use one of the workarounds in #236. +* [Phaser.Color.updateColor](https://photonstorm.github.io/phaser-ce/Phaser.Color.html#_updateColor) now rounds fractional RGB values to integers when updating the `rgba` property (#361). +* Added `roundPixels` to [WebGLRenderer#renderSession](https://photonstorm.github.io/phaser-ce/PIXI.WebGLRenderer.html#renderSession) (#362). +* Fixed some TypeScript definitions (#354, #368). + +### Documentation + +* Updated [TypeScript guide](https://github.com/photonstorm/phaser-ce/issues/292) (#292). Edits are welcome. +* Added [Phaser.Button](https://photonstorm.github.io/phaser-ce/Phaser.Button.html) `callback` arguments (same as [Phaser.Events#onInputUp](https://photonstorm.github.io/phaser-ce/Phaser.Events.html#onInputUp)) (#353). +* Added [Phaser.Input](https://photonstorm.github.io/phaser-ce/Phaser.Input.html) callback arguments (#368). +* Added [Phaser.Plugin: Callbacks](https://photonstorm.github.io/phaser-ce/Phaser.Plugin.html). +* Corrected [Phaser.Tileset#containsTileIndex](https://photonstorm.github.io/phaser-ce/Phaser.Tileset.html#containsTileIndex) (#358). +* Corrected [Phaser.State: Callbacks](https://photonstorm.github.io/phaser-ce/Phaser.State.html). + +### Thanks + +@bobhfut, @falquaddoomi, @HaoboZ, @pavle-goloskokovic, @photonstorm, @samme + ## Version 2.8.7 - 12th September 2017 ### Bug Fixes diff --git a/README.md b/README.md index acac582c6..88f9aeb53 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Thousands of developers worldwide use Phaser. From indies and multi-national dig 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](https://github.com/photonstorm/phaser/tree/master/v3) is in active development. -The [current Phaser CE release is 2.8.7](https://github.com/photonstorm/phaser-ce/releases/tag/v2.8.7). +The [current Phaser CE release is 2.8.8](https://github.com/photonstorm/phaser-ce/releases/tag/v2.8.8). - **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](http://stackoverflow.com/questions/tagged/phaser-framework) @@ -128,16 +128,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.8.7/build/custom/) are available too. +[Custom builds](https://cdn.jsdelivr.net/npm/phaser-ce@2.8.8/build/custom/) are available too. @@ -328,7 +328,7 @@ Written something cool in Phaser? Please tell us about it in the [forum][forum], # Change Log -## Unreleased +## Version 2.8.8 - 25th September 2017 ### New Features @@ -341,7 +341,7 @@ Written something cool in Phaser? Please tell us about it in the [forum][forum], * Fixed p2 polygon collisions (#366). * Fixed a nonfatal error when clicking the game canvas in browsers not supporting [Document.hasFocus()](https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus) (e.g., Opera Mini, older Opera) (#367). In these browsers the game may not automatically resume when refocused in an iframe; use one of the workarounds in #236. -* [Phaser.Color.updateColor](https://photonstorm.github.io/phaser-ce/Phaser.Color.html#_updateColor) rounds RGB values to integers when updating the `rgba` property (#361). +* [Phaser.Color.updateColor](https://photonstorm.github.io/phaser-ce/Phaser.Color.html#_updateColor) now rounds fractional RGB values to integers when updating the `rgba` property (#361). * Added `roundPixels` to [WebGLRenderer#renderSession](https://photonstorm.github.io/phaser-ce/PIXI.WebGLRenderer.html#renderSession) (#362). * Fixed some TypeScript definitions (#354, #368). @@ -356,18 +356,7 @@ Written something cool in Phaser? Please tell us about it in the [forum][forum], ### Thanks -@bobhfut, @falquaddoomi, @HaoboZ, @pavle-goloskokovic, @samme - -## Version 2.8.7 - 12th September 2017 - -### Bug Fixes - -* Fixed TypeScript error (#351). -* [onChildInputDown](https://photonstorm.github.io/phaser-ce/Phaser.Particles.Arcade.Emitter.html#onChildInputDown), [onChildInputUp](https://photonstorm.github.io/phaser-ce/Phaser.Particles.Arcade.Emitter.html#onChildInputUp), [onChildInputOver](https://photonstorm.github.io/phaser-ce/Phaser.Particles.Arcade.Emitter.html#onChildInputOver), and [onChildInputOut](https://photonstorm.github.io/phaser-ce/Phaser.Particles.Arcade.Emitter.html#onChildInputOut) signals now fire correctly for particle emitters (#349). - -### Thanks - -@lucasgray, @photonstorm, @samme, @yupaul +@bobhfut, @falquaddoomi, @HaoboZ, @pavle-goloskokovic, @photonstorm, @samme For changes in previous releases please see the extensive [Change Log](https://github.com/photonstorm/phaser-ce/blob/master/CHANGELOG.md). @@ -391,10 +380,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.8.7/phaser.js -[get-minjs]: https://github.com/photonstorm/phaser-ce/releases/download/v2.8.7/phaser.min.js -[get-zip]: https://github.com/photonstorm/phaser-ce/archive/v2.8.7.zip -[get-tgz]: https://github.com/photonstorm/phaser-ce/archive/v2.8.7.tar.gz +[get-js]: https://github.com/photonstorm/phaser-ce/releases/download/v2.8.8/phaser.js +[get-minjs]: https://github.com/photonstorm/phaser-ce/releases/download/v2.8.8/phaser.min.js +[get-zip]: https://github.com/photonstorm/phaser-ce/archive/v2.8.8.zip +[get-tgz]: https://github.com/photonstorm/phaser-ce/archive/v2.8.8.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/build/custom/creature.min.js b/build/custom/creature.min.js index 6c5f9bf22..0eafdb67a 100644 --- a/build/custom/creature.min.js +++ b/build/custom/creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.7 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.8 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,r,n){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(n,null),this.setLocalRestStartPt(e),this.setLocalRestEndPt(r),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,r,n,a,i,s){this.store_indices=t,this.store_rest_pts=e,this.store_uvs=r,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.start_pt_index=n,this.end_pt_index=a,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 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 Creature(t,e){this.total_num_pts=0,this.total_num_indices=0,this.global_indices=null,this.global_pts=null,this.global_uvs=null,this.render_pts=null,this.render_colours=null,this.render_composition=null,this.boundary_indices=[],this.boundary_min=vec2.create(),this.boundary_max=vec2.create(),this.anchor_point_map={},this.anchor_points_active=!1,this.LoadFromData(t,e)}function CreatureAnimation(t,e){this.name=e,this.bones_cache=new MeshBoneCacheManager,this.displacement_cache=new MeshDisplacementCacheManager,this.uv_warp_cache=new MeshUVWarpCacheManager,this.cache_pts=[],this.fill_cache_pts=[],this.LoadFromData(e,t)}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("")}!function(t){"use strict";var e={};"undefined"==typeof exports?"function"==typeof define&&"object"==typeof define.amd&&define.amd?(e.exports={},define(function(){return e.exports})):e.exports="undefined"!=typeof window?window:t:e.exports=exports,function(t){if(!e)var e=1e-6;if(!r)var r="undefined"!=typeof Float32Array?Float32Array:Array;if(!n)var n=Math.random;var a={};a.setMatrixArrayType=function(t){r=t},void 0!==t&&(t.glMatrix=a);var i=Math.PI/180;a.toRadian=function(t){return t*i};var s={};s.create=function(){var t=new r(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new r(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var n=new r(2);return n[0]=t,n[1]=e,n},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,r){return t[0]=e,t[1]=r,t},s.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},s.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},s.sub=s.subtract,s.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},s.mul=s.multiply,s.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},s.div=s.divide,s.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},s.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},s.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},s.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},s.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},s.dist=s.distance,s.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},s.len=s.length,s.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},s.normalize=function(t,e){var r=e[0],n=e[1],a=r*r+n*n;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},s.lerp=function(t,e,r,n){var a=e[0],i=e[1];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t},s.random=function(t,e){e=e||1;var r=2*n()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},s.transformMat2=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a,t[1]=r[1]*n+r[3]*a,t},s.transformMat2d=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a+r[4],t[1]=r[1]*n+r[3]*a+r[5],t},s.transformMat3=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[3]*a+r[6],t[1]=r[1]*n+r[4]*a+r[7],t},s.transformMat4=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t},s.forEach=function(){var t=s.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=2),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i),t},o.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},o.cross=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2];return t[0]=a*c-i*o,t[1]=i*s-n*c,t[2]=n*o-a*s,t},o.lerp=function(t,e,r,n){var a=e[0],i=e[1],s=e[2];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=s+n*(r[2]-s),t},o.random=function(t,e){e=e||1;var r=2*n()*Math.PI,a=2*n()-1,i=Math.sqrt(1-a*a)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=a*e,t},o.transformMat4=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[3]*n+r[7]*a+r[11]*i+r[15];return s=s||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/s,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/s,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/s,t},o.transformMat3=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t},o.transformQuat=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2],h=r[3],u=h*n+o*i-c*a,l=h*a+c*n-s*i,_=h*i+s*a-o*n,p=-s*n-o*a-c*i;return t[0]=u*h+p*-s+l*-c-_*-o,t[1]=l*h+p*-o+_*-s-u*-c,t[2]=_*h+p*-c+u*-o-l*-s,t},o.rotateX=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.rotateY=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.rotateZ=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.forEach=function(){var t=o.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=3),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o0&&(s=1/Math.sqrt(s),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t[3]=e[3]*s),t},c.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},c.lerp=function(t,e,r,n){var a=e[0],i=e[1],s=e[2],o=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=s+n*(r[2]-s),t[3]=o+n*(r[3]-o),t},c.random=function(t,e){return e=e||1,t[0]=n(),t[1]=n(),t[2]=n(),t[3]=n(),c.normalize(t,t),c.scale(t,t,e),t},c.transformMat4=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*s,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*s,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*s,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*s,t},c.transformQuat=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2],h=r[3],u=h*n+o*i-c*a,l=h*a+c*n-s*i,_=h*i+s*a-o*n,p=-s*n-o*a-c*i;return t[0]=u*h+p*-s+l*-c-_*-o,t[1]=l*h+p*-o+_*-s-u*-c,t[2]=_*h+p*-c+u*-o-l*-s,t},c.forEach=function(){var t=c.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=4),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(o.cross(t,a,i),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+s,p.normalize(n,n))}}(),p.setAxes=function(){var t=l.create();return function(e,r,n,a){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=a[0],t[4]=a[1],t[7]=a[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],p.normalize(e,p.fromMat3(e,t))}}(),p.clone=c.clone,p.fromValues=c.fromValues,p.copy=c.copy,p.set=c.set,p.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},p.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},p.add=c.add,p.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3],o=r[0],c=r[1],h=r[2],u=r[3];return t[0]=n*u+s*o+a*h-i*c,t[1]=a*u+s*c+i*o-n*h,t[2]=i*u+s*h+n*c-a*o,t[3]=s*u-n*o-a*c-i*h,t},p.mul=p.multiply,p.scale=c.scale,p.rotateX=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*o,t[1]=a*c+i*o,t[2]=i*c-a*o,t[3]=s*c-n*o,t},p.rotateY=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c-i*o,t[1]=a*c+s*o,t[2]=i*c+n*o,t[3]=s*c-a*o,t},p.rotateZ=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c+a*o,t[1]=a*c-n*o,t[2]=i*c+s*o,t[3]=s*c-i*o,t},p.calculateW=function(t,e){var r=e[0],n=e[1],a=e[2];return t[0]=r,t[1]=n,t[2]=a,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),t},p.dot=c.dot,p.lerp=c.lerp,p.slerp=function(t,e,r,n){var a,i,s,o,c,h=e[0],u=e[1],l=e[2],_=e[3],p=r[0],d=r[1],m=r[2],f=r[3];return(i=h*p+u*d+l*m+_*f)<0&&(i=-i,p=-p,d=-d,m=-m,f=-f),1-i>1e-6?(a=Math.acos(i),s=Math.sin(a),o=Math.sin((1-n)*a)/s,c=Math.sin(n*a)/s):(o=1-n,c=n),t[0]=o*h+c*p,t[1]=o*u+c*d,t[2]=o*l+c*m,t[3]=o*_+c*f,t},p.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=r*r+n*n+a*a+i*i,o=s?1/s:0;return t[0]=-r*o,t[1]=-n*o,t[2]=-a*o,t[3]=i*o,t},p.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},p.length=c.length,p.len=p.length,p.squaredLength=c.squaredLength,p.sqrLen=p.squaredLength,p.normalize=c.normalize,p.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var a=0;e[4]>e[0]&&(a=1),e[8]>e[3*a+a]&&(a=2);var i=(a+1)%3,s=(a+2)%3;r=Math.sqrt(e[3*a+a]-e[3*i+i]-e[3*s+s]+1),t[a]=.5*r,r=.5/r,t[3]=(e[3*i+s]-e[3*s+i])*r,t[i]=(e[3*i+a]+e[3*a+i])*r,t[s]=(e[3*s+a]+e[3*a+s])*r}return t},p.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},void 0!==t&&(t.quat=p)}(e.exports)}(this);var Q_X=0,Q_Y=1,Q_Z=2,Q_W=3;dualQuat.prototype.reset=function(){quat.identity(this.real),this.real[Q_W]=0,quat.identity(this.imaginary),this.imaginary[Q_W]=0,quat.identity(this.tmpQ1)},dualQuat.prototype.createFromData=function(t,e){this.real=t,this.imaginary=quat.create(),this.imaginary[Q_W]=-.5*(e[Q_X]*t[Q_X]+e[Q_Y]*t[Q_Y]+e[Q_Z]*t[Q_Z]),this.imaginary[Q_X]=.5*(e[Q_X]*t[Q_W]+e[Q_Y]*t[Q_Z]-e[Q_Z]*t[Q_Y]),this.imaginary[Q_Y]=.5*(-e[Q_X]*t[Q_Z]+e[Q_Y]*t[Q_W]+e[Q_Z]*t[Q_X]),this.imaginary[Q_Z]=.5*(e[Q_X]*t[Q_Y]-e[Q_Y]*t[Q_X]+e[Q_Z]*t[Q_W])},dualQuat.prototype.add=function(t,e,r){quat.copy(this.tmpQ1,t.real),quat.scale(this.tmpQ1,this.tmpQ1,e),quat.add(this.real,this.tmpQ1,this.real),quat.copy(this.tmpQ1,t.imaginary),quat.scale(this.tmpQ1,this.tmpQ1,r),quat.add(this.imaginary,this.tmpQ1,this.imaginary)},dualQuat.prototype.normalize=function(){var t=quat.length(this.real);this.real=quat.scale(this.real,this.real,1/t),this.imaginary=quat.scale(this.imaginary,this.imaginary,1/t)};var v0=vec3.create(),ve=vec3.create(),trans=vec3.create(),tmpVec1=vec3.create(),tmpVec2=vec3.create(),tmpVec0=vec3.create(),aVec=vec3.create(),rot=vec3.create();dualQuat.prototype.transform=function(t){return v0[Q_X]=this.real[Q_X],v0[Q_Y]=this.real[Q_Y],v0[Q_Z]=this.real[Q_Z],ve[Q_X]=this.imaginary[Q_X],ve[Q_Y]=this.imaginary[Q_Y],ve[Q_Z]=this.imaginary[Q_Z],tmpVec1=vec3.scale(tmpVec1,v0,this.imaginary[Q_W]),tmpVec2=vec3.cross(tmpVec2,v0,ve),tmpVec0=vec3.scale(tmpVec0,ve,this.real[Q_W]),aVec=vec3.subtract(aVec,tmpVec0,tmpVec1),trans=vec3.add(trans,aVec,tmpVec2),trans=vec3.scale(trans,trans,2),rot=vec3.transformQuat(rot,t,this.real),rot=vec3.add(rot,rot,trans)};var Utils={};Utils.setAxisMatrix=function(t,e,r){var n=mat4.create();return n[0]=t[Q_X],n[4]=t[Q_Y],n[8]=t[Q_Z],n[1]=e[Q_X],n[5]=e[Q_Y],n[9]=e[Q_Z],n[2]=r[Q_X],n[6]=r[Q_Y],n[10]=r[Q_Z],n[12]=0,n[13]=0,n[14]=0,n[3]=0,n[7]=0,n[11]=0,n[15]=1,n=mat4.transpose(n,n)},Utils.matrixToQuat=function(t){var e,r=quat.create(),n=t,a=n[0],i=n[4],s=n[8],o=n[1],c=n[5],h=n[9],u=n[2],l=n[6],_=n[10],p=a+c+_;return p>0?(e=.5/Math.sqrt(p+1),r[Q_W]=.25/e,r[Q_X]=(l-h)*e,r[Q_Y]=(s-u)*e,r[Q_Z]=(o-i)*e):a>c&&a>_?(e=2*Math.sqrt(1+a-c-_),r[Q_W]=(l-h)/e,r[Q_X]=.25*e,r[Q_Y]=(i+o)/e,r[Q_Z]=(s+u)/e):c>_?(e=2*Math.sqrt(1+c-a-_),r[Q_W]=(s-u)/e,r[Q_X]=(i+o)/e,r[Q_Y]=.25*e,r[Q_Z]=(h+l)/e):(e=2*Math.sqrt(1+_-a-c),r[Q_W]=(o-i)/e,r[Q_X]=(s+u)/e,r[Q_Y]=(h+l)/e,r[Q_Z]=.25*e),r},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 r=Utils.rotateVec_90(e),n=vec3.fromValues(e[Q_X],e[Q_Y],0),a=vec3.fromValues(r[Q_X],r[Q_Y],0),i=vec3.fromValues(0,0,1);mat4.create();return Utils.setAxisMatrix(n,a,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 r=mat4.create(),n=0;n<16;n++)r[n]=t[n]+e[n];return r},Utils.mulMat=function(t,e){for(var r=mat4.create(),n=0;n<16;n++)r[n]=t[n]*e;return r},Utils.clamp=function(t,e,r){return tr?r:t};var newVec1=vec3.create(),newVec2=vec3.create();Utils.vecInterp=function(t,e,r){newVec1=vec3.scale(newVec1,t,1-r),newVec2=vec3.scale(newVec2,e,r);var n=vec3.create();return n=vec3.add(n,newVec1,newVec2)},Utils.vec2Interp=function(t,e,r){var n=vec2.create(),a=vec2.create();n=vec2.scale(n,t,1-r),a=vec2.scale(a,e,r);var i=vec2.create();return i=vec2.add(i,n,a)},MeshBone.prototype.setRestParentMat=function(t,e){this.rest_parent_mat=t,null==e?(this.rest_parent_inv_mat=mat4.clone(this.rest_parent_mat),mat4.invert(this.rest_parent_inv_mat,this.rest_parent_inv_mat)):this.rest_parent_inv_mat=mat4.clone(e)},MeshBone.prototype.setParentWorldMat=function(t){this.parent_world_mat=t},MeshBone.prototype.setParentWorldInvMat=function(t){this.parent_world_inv_mat=t},MeshBone.prototype.getLocalRestStartPt=function(){return this.local_rest_start_pt},MeshBone.prototype.getLocalRestEndPt=function(){return this.local_rest_end_pt},MeshBone.prototype.setLocalRestStartPt=function(t){this.local_rest_start_pt=vec3.create(),this.local_rest_start_pt=vec3.transformMat4(this.local_rest_start_pt,t,this.rest_parent_inv_mat),this.calcRestData()},MeshBone.prototype.setLocalRestEndPt=function(t){this.local_rest_end_pt=vec3.create(),this.local_rest_end_pt=vec3.transformMat4(this.local_rest_end_pt,t,this.rest_parent_inv_mat),this.calcRestData()},MeshBone.prototype.calcRestData=function(){if(null!=this.local_rest_start_pt&&null!=this.local_rest_end_pt){var t=this.computeDirs(this.local_rest_start_pt,this.local_rest_end_pt);this.local_rest_dir=t.first,this.local_rest_normal_dir=t.second,this.computeRestLength()}},MeshBone.prototype.setWorldStartPt=function(t){this.world_start_pt=t},MeshBone.prototype.setWorldEndPt=function(t){this.world_end_pt=t},MeshBone.prototype.fixDQs=function(t){quat.dot(this.world_dq.real,t.real)<0&&(this.world_dq.real=quat.scale(this.world_dq.real,this.world_dq.real,-1),this.world_dq.imaginary=quat.scale(this.world_dq.imaginary,this.world_dq.imaginary,-1));for(var e=0;e.05&&a.push(i);this.relevant_bones_indices.push(a)}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;en&&(n=o),o=0&&null!==t?i=this.boundary_max[0]-n*t:t<0?i=-Math.abs(this.boundary_max[0]-n*Math.abs(t)):null===t&&(i=this.anchor_point_map&&this.anchor_point_map[r]?this.anchor_point_map[r][0]:0),e>=0&&null!==e?s=this.boundary_max[1]-a*e:e<0?s=-Math.abs(this.boundary_max[1]-a*Math.abs(e)):null===e&&(s=this.anchor_point_map&&this.anchor_point_map[r]?this.anchor_point_map[r][1]:0);var o={AnchorPoints:[{point:[i,s],anim_clip_name:r}]};this.anchor_point_map=this.FillAnchorPointMap(o)},Creature.prototype.GetAnchorPoint=function(t){return t in this.anchor_point_map?this.anchor_point_map[t]:vec2.fromValues(0,0)},Creature.prototype.FillRenderColours=function(t,e,r,n){for(var a=0;a=o&&n<=c){a=!0;break}}a&&t[n]++}this.boundary_indices=[];for(e=0;ei&&(e[0]=i),e[1]>s&&(e[1]=s),r[0]0)){for(var n=r.cache_pts,a=r.start_time;a<=r.end_time;a++){this.setRunTime(a);for(var i=[],s=0;s<3*this.target_creature.total_num_pts;s++)i[s]=0;this.PoseCreature(t,i),n.push(i)}this.setRunTime(e)}},CreatureManager.prototype.FillSinglePointCacheFrame=function(t,e){var r=this.getRunTime(),n=this.animations[t];this.setRunTime(e);for(var a=[],i=0;i<3*this.target_creature.total_num_pts;i++)a[i]=0;this.PoseCreature(t,a),n.fill_cache_pts.push(a),n.verifyFillCache(),this.setRunTime(r)},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.ResetToStartTimes=function(){var t=this.animations[active_animation_name];this.run_time=t.start_time},CreatureManager.prototype.setRunTime=function(t){this.run_time=t,this.correctTime()},CreatureManager.prototype.increRunTime=function(t){this.run_time+=t,this.correctTime()},CreatureManager.prototype.correctTime=function(){var t=this.animations[this.active_animation_name],e=t.start_time,r=t.end_time;this.use_custom_time_range&&(e=this.custom_start_time,r=this.custom_end_time),this.run_time>r?this.should_loop?this.run_time=e:this.run_time=r:this.run_time0?i.poseFromCachePts(this.getRunTime(),this.blend_render_pts[t],this.target_creature.total_num_pts):this.PoseCreature(this.active_blend_animation_names[t],this.blend_render_pts[t]);for(var e=0;e<3*this.target_creature.total_num_pts;e++){var r=e,n=this.blend_render_pts[0][e],a=this.blend_render_pts[1][e];this.target_creature.render_pts.set(r,(1-blending_factor)*n+blending_factor*a)}}else{var i=this.animations[this.active_animation_name];i.cache_pts.length>0?i.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)}},CreatureManager.prototype.SetTimeScale=function(t){this.time_scale=t},CreatureManager.prototype.SetBlending=function(t){if(this.do_blending=t,this.do_blending){if(0==this.blend_render_pts[0].length){for(var e=[],r=0;r<3*target_creature.total_num_pts;r++)e.push(0);this.blend_render_pts.set(0,e)}if(0==this.blend_render_pts[1].length){for(var e=[],r=0;r<3*this.target_creature.total_num_pts;r++)e.push(0);this.blend_render_pts[1]=e}}},CreatureManager.prototype.SetBlendingAnimations=function(t,e){this.active_blend_animation_names[0]=t,this.active_blend_animation_names[1]=e},CreatureManager.prototype.SetBlendingFactor=function(t){this.blending_factor=t},CreatureManager.prototype.IsContactBone=function(t,e){var r=this.target_creature.render_composition.getRootBone();return this.ProcessContactBone(t,e,r)},CreatureManager.prototype.PoseCreature=function(t,e){var r=this.animations[t],n=r.bones_cache,a=r.displacement_cache,i=r.uv_warp_cache,s=this.target_creature.render_composition,o=s.getBonesMap(),c=s.getRegionsMap();n.retrieveValuesAtTime(this.getRunTime(),o),this.AlterBonesByAnchor(o,t),null!=this.bones_override_callback&&this.bones_override_callback(o),a.retrieveValuesAtTime(this.getRunTime(),c),i.retrieveValuesAtTime(this.getRunTime(),c);var h=s.getRegions(),u=s.getBonesMap();s.updateAllTransforms(!1);for(var l=0,_=h.length;l<_;l++){var p=h[l],d=p.getStartPtIndex();p.poseFinalPts(e,3*d,u);for(var m=3*p.getStartPtIndex(),f=3*p.getEndPtIndex(),v=m;v<=f;v+=3)e[v+2]=.001*-l}}; //# sourceMappingURL=creature.map \ No newline at end of file diff --git a/build/custom/p2.min.js b/build/custom/p2.min.js index 4644521af..2f23ee3bf 100644 --- a/build/custom/p2.min.js +++ b/build/custom/p2.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.7 P2.JS Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.8 P2.JS Build - 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,o,i){function n(a,r){if(!o[a]){if(!e[a]){var c="function"==typeof require&&require;if(!r&&c)return c(a,!0);if(s)return s(a,!0);throw new Error("Cannot find module '"+a+"'")}var h=o[a]={exports:{}};e[a][0].call(h.exports,function(t){var o=e[a][1][t];return n(o||t)},h,h.exports,t,e,o,i)}return o[a].exports}for(var s="function"==typeof require&&require,a=0;a=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))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)}},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.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,b=x.a,_=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=b*g+T*v+C,E=w*v+_*g+S,A=b*m+T*v+C,M=w*v+_*m+S,R=b*m+T*y+C,L=w*y+_*m+S,I=b*g+T*y+C,O=w*y+_*g+S;c=P,d=E,u=E,l=I<(l=R<(l=A<(l=P)?A:l)?R:l)?I:l,u=O<(u=L<(u=M(c=R>(c=A>c?A:c)?R:c)?I:c,d=O>(d=L>(d=M>d?M:d)?L:d)?O: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,m=P>(m=C>(m=T>(m=b>m?b: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 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 m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,T=o.tx,w=o.ty,C=(i.crop.width,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,I=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(I[m++]=v*l+b*c+T|0,I[m++]=_*c+x*l+w|0,I[m++]=a.x0,I[m++]=a.y0,L[m++]=k,I[m++]=y,I[m++]=v*h+b*c+T|0,I[m++]=_*c+x*h+w|0,I[m++]=a.x1,I[m++]=a.y1,L[m++]=k,I[m++]=y,I[m++]=v*h+b*u+T|0,I[m++]=_*u+x*h+w|0,I[m++]=a.x2,I[m++]=a.y2,L[m++]=k,I[m++]=y,I[m++]=v*l+b*u+T|0,I[m++]=_*u+x*l+w|0,I[m++]=a.x3,I[m++]=a.y3,L[m++]=k,I[m++]=y):(I[m++]=v*l+b*c+T,I[m++]=_*c+x*l+w,I[m++]=a.x0,I[m++]=a.y0,L[m++]=k,I[m++]=y,I[m++]=v*h+b*c+T,I[m++]=_*c+x*h+w,I[m++]=a.x1,I[m++]=a.y1,L[m++]=k,I[m++]=y,I[m++]=v*h+b*u+T,I[m++]=_*u+x*h+w,I[m++]=a.x2,I[m++]=a.y2,L[m++]=k,I[m++]=y,I[m++]=v*l+b*u+T,I[m++]=_*u+x*l+w,I[m++]=a.x3,I[m++]=a.y3,L[m++]=k,I[m++]=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),m=this.positions,g=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,I=E.tx,O=E.ty;m[S++]=A*T+R*C+I,m[S++]=L*C+M*T+O,m[S++]=o.x0,m[S++]=o.y0,g[S++]=f,m[S++]=r,m[S++]=A*_+R*C+I,m[S++]=L*C+M*_+O,m[S++]=o.x1,m[S++]=o.y1,g[S++]=f,m[S++]=r,m[S++]=A*_+R*w+I,m[S++]=L*w+M*_+O,m[S++]=o.x2,m[S++]=o.y2,g[S++]=f,m[S++]=r,m[S++]=A*T+R*w+I,m[S++]=L*w+M*T+O,m[S++]=o.x3,m[S++]=o.y3,g[S++]=f,m[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,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(f||m)&&(this.renderBatch(c,l,u),u=g,l=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)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}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(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.7",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,u=a*t.x+h*t.y;t.x=l+e,t.y=u+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.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,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.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)},i.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=0;o2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.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 e=!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}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}r&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,u){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*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,e,s){s||(s=i.Color.createColor());var n=~~(t+e*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,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),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 e=i.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{i.Color.unpackPixel(this.getPixel32(s,n),e),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===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.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,e,s,n,r,o,a,h,l,u,c,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.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 i.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 i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),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 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)){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+e,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,e,s){if(void 0===e&&(e=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 i.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,e&&(this.op=e),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,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.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,e.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),i.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 m=s;mu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.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=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(u,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.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&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,u=[];for(r=0,o=e.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&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.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},i.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},i.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},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.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},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.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)},i.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,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.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===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.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*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-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),I.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,e.beginPath(),e.moveTo(_,T+S),e.lineTo(_,T+C-S),e.quadraticCurveTo(_,T+C,_+S,T+C),e.lineTo(_+w-S,T+C),e.quadraticCurveTo(_+w,T+C,_+w,T+C-S),e.lineTo(_+w,T+S),e.quadraticCurveTo(_+w,T,_+w-S,T),e.lineTo(_+S,T),e.quadraticCurveTo(_,T,_,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,b+w),e.lineTo(x,b+T-w),e.quadraticCurveTo(x,b+T,x+w,b+T),e.lineTo(x+_-w,b+T),e.quadraticCurveTo(x+_,b+T,x+_,b+T-w),e.lineTo(x+_,b+w),e.quadraticCurveTo(x+_,b,x+_-w,b),e.lineTo(x+w,b),e.quadraticCurveTo(x,b,x,b+w),e.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}},i.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},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.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),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);c.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.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},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?g: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},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+u:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.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},i.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()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.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}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.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=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.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===i.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 i.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 i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.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,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},i.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)},i.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++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.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)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.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 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);u[c]=g,h+=m}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,"")},i.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},i.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()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,u=n.getImageData(0,0,r,a).data,c=u.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:c,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:c,chars:l}},i.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(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).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(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.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)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=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===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.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},i.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},i.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},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.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(i.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(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.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=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.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,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){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=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=m*u+l*y+g*c-u*y-l*g-m*c,L=m*x*c+v*u*y+l*g*b-l*x*y-v*g*c-m*u*b,I=d*x+v*f+p*b-x*f-v*p-d*b,O=m*p+d*y+g*f-p*y-d*g-m*f,k=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/A,I/A,R/A,O/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(u===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=u,v.width=h-u,v.y=c,v.height=l-c,this._currentBounds=v,v},Object.defineProperty(i.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(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],u=0;u(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,T=b>(T=v>(T=g>(T=f>T?f:T)?g: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(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.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," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.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){return this._tweens.some(function(e){return e.target===t})},_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)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.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},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=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],10)),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 i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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():i.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,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.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){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(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-i.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*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===u||0===c||uu&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(e,u)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.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])},i.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]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,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=e,this.key=e,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.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._removeFromSoundManager=!1,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*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.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},i.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._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),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(){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)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===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._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,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.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),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.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!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._sound&&(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&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(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,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.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(i.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))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=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 i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,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);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;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),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.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=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,r,o,a,h){var l={r:t||0,g:e||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 i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,l=(a.green-o.green)*n/s+o.green,u=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,l,u)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,u)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(l,u,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.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,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.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,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.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===i.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(e);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.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)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.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,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.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:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*u.x+2*e.mass*c.x)/(t.mass+e.mass),p=(2*t.mass*u.x+(e.mass-t.mass)*c.x)/(t.mass+e.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),e.immovable||(e.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*e.bounce.x,e.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.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)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.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,e,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 i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},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,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},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){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},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)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.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 i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.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 i.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 i.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},i.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=Math.atan2(this.velocity.y,this.velocity.x)),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=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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,e,s){var n=e/(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),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),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,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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 i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.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)},i.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)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.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}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),i.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},i.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}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,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)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.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,e,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!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new i.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,m=0,g=0,y=a;y1)for(c=0;cthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=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:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,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:e,height:s,widthInPixels:e*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 i.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,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}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}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.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=i.TILEMAPLAYER,this.physicsType=i.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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.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},i.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)},i.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)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.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},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.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)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.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)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.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+=u){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 T=_[m];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))}}}},i.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),m=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,m,c)}},i.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)},i.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=g-m,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(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,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===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,u=0;u>>0;o.data=l,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}U={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&&(U.properties=o.properties);for(var c,d,p,f=0,m=[],g=[],y=0,h=o.data.length;y536870912)switch(E>2147483648&&(E-=2147483648,p+=4),E>1073741824&&(E-=1073741824,p+=2),E>536870912&&(E-=536870912,p+=1),p){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,d=!0;break;case 7:c=Math.PI/2,d=!0;break;case 2:c=Math.PI,d=!0;break;case 1:c=3*Math.PI/2,d=!0}E>0?((G=new i.Tile(U,E,f,g.length,t.tilewidth,t.tileheight)).rotation=c,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===o.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],r=0;r=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()},i.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},i.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},i.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()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.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},i.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(i.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(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.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 i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.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()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.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},i.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},i.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},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.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!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.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===i.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 m=this.fireRate;(m+=i.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},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.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},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.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},i.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(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.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(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.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=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,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,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);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(i.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 i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.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"),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: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.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.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.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),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,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!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.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.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(i.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(i.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(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.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(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.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()},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)}},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.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,b=x.a,_=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=b*g+T*v+C,E=w*v+_*g+S,A=b*m+T*v+C,M=w*v+_*m+S,R=b*m+T*y+C,L=w*y+_*m+S,I=b*g+T*y+C,O=w*y+_*g+S;c=P,d=E,u=E,l=I<(l=R<(l=A<(l=P)?A:l)?R:l)?I:l,u=O<(u=L<(u=M(c=R>(c=A>c?A:c)?R:c)?I:c,d=O>(d=L>(d=M>d?M:d)?L:d)?O: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,m=P>(m=C>(m=T>(m=b>m?b: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 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 m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,T=o.tx,w=o.ty,C=(i.crop.width,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,I=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(I[m++]=v*l+b*c+T|0,I[m++]=_*c+x*l+w|0,I[m++]=a.x0,I[m++]=a.y0,L[m++]=k,I[m++]=y,I[m++]=v*h+b*c+T|0,I[m++]=_*c+x*h+w|0,I[m++]=a.x1,I[m++]=a.y1,L[m++]=k,I[m++]=y,I[m++]=v*h+b*u+T|0,I[m++]=_*u+x*h+w|0,I[m++]=a.x2,I[m++]=a.y2,L[m++]=k,I[m++]=y,I[m++]=v*l+b*u+T|0,I[m++]=_*u+x*l+w|0,I[m++]=a.x3,I[m++]=a.y3,L[m++]=k,I[m++]=y):(I[m++]=v*l+b*c+T,I[m++]=_*c+x*l+w,I[m++]=a.x0,I[m++]=a.y0,L[m++]=k,I[m++]=y,I[m++]=v*h+b*c+T,I[m++]=_*c+x*h+w,I[m++]=a.x1,I[m++]=a.y1,L[m++]=k,I[m++]=y,I[m++]=v*h+b*u+T,I[m++]=_*u+x*h+w,I[m++]=a.x2,I[m++]=a.y2,L[m++]=k,I[m++]=y,I[m++]=v*l+b*u+T,I[m++]=_*u+x*l+w,I[m++]=a.x3,I[m++]=a.y3,L[m++]=k,I[m++]=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),m=this.positions,g=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,I=E.tx,O=E.ty;m[S++]=A*T+R*C+I,m[S++]=L*C+M*T+O,m[S++]=o.x0,m[S++]=o.y0,g[S++]=f,m[S++]=r,m[S++]=A*_+R*C+I,m[S++]=L*C+M*_+O,m[S++]=o.x1,m[S++]=o.y1,g[S++]=f,m[S++]=r,m[S++]=A*_+R*w+I,m[S++]=L*w+M*_+O,m[S++]=o.x2,m[S++]=o.y2,g[S++]=f,m[S++]=r,m[S++]=A*T+R*w+I,m[S++]=L*w+M*T+O,m[S++]=o.x3,m[S++]=o.y3,g[S++]=f,m[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,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(f||m)&&(this.renderBatch(c,l,u),u=g,l=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)}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(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.8",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,u=a*t.x+h*t.y;t.x=l+e,t.y=u+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.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,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.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)},i.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=0;o2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.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 e=!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}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}r&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,u){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*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,e,s){s||(s=i.Color.createColor());var n=~~(t+e*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,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),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 e=i.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{i.Color.unpackPixel(this.getPixel32(s,n),e),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===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.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,e,s,n,r,o,a,h,l,u,c,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.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 i.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 i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),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 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)){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+e,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,e,s){if(void 0===e&&(e=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 i.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,e&&(this.op=e),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,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.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,e.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),i.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 m=s;mu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.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=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(u,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.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&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,u=[];for(r=0,o=e.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&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.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},i.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},i.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},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.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},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.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)},i.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,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.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===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.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*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-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),I.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,e.beginPath(),e.moveTo(_,T+S),e.lineTo(_,T+C-S),e.quadraticCurveTo(_,T+C,_+S,T+C),e.lineTo(_+w-S,T+C),e.quadraticCurveTo(_+w,T+C,_+w,T+C-S),e.lineTo(_+w,T+S),e.quadraticCurveTo(_+w,T,_+w-S,T),e.lineTo(_+S,T),e.quadraticCurveTo(_,T,_,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,b+w),e.lineTo(x,b+T-w),e.quadraticCurveTo(x,b+T,x+w,b+T),e.lineTo(x+_-w,b+T),e.quadraticCurveTo(x+_,b+T,x+_,b+T-w),e.lineTo(x+_,b+w),e.quadraticCurveTo(x+_,b,x+_-w,b),e.lineTo(x+w,b),e.quadraticCurveTo(x,b,x,b+w),e.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}},i.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},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.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),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);c.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.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},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?g: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},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+u:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.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},i.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()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.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}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.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=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.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===i.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 i.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 i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.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,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},i.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)},i.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++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.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)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.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 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);u[c]=g,h+=m}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,"")},i.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},i.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()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,u=n.getImageData(0,0,r,a).data,c=u.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:c,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:c,chars:l}},i.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(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).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(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.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)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=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===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.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},i.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},i.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},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.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(i.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(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.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=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.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,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){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=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=m*u+l*y+g*c-u*y-l*g-m*c,L=m*x*c+v*u*y+l*g*b-l*x*y-v*g*c-m*u*b,I=d*x+v*f+p*b-x*f-v*p-d*b,O=m*p+d*y+g*f-p*y-d*g-m*f,k=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/A,I/A,R/A,O/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(u===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=u,v.width=h-u,v.y=c,v.height=l-c,this._currentBounds=v,v},Object.defineProperty(i.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(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],u=0;u(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,T=b>(T=v>(T=g>(T=f>T?f:T)?g: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(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.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," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.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){return this._tweens.some(function(e){return e.target===t})},_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)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.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},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=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],10)),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 i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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():i.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,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.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){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(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-i.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*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===u||0===c||uu&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(e,u)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.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])},i.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]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,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=e,this.key=e,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.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._removeFromSoundManager=!1,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*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.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},i.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._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),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(){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)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===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._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,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.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),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.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!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._sound&&(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&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(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,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.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(i.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))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=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 i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,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);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;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),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.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=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,r,o,a,h){var l={r:t||0,g:e||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 i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,l=(a.green-o.green)*n/s+o.green,u=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,l,u)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,u)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(l,u,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.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,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.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,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.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===i.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(e);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.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)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.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,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.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:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*u.x+2*e.mass*c.x)/(t.mass+e.mass),p=(2*t.mass*u.x+(e.mass-t.mass)*c.x)/(t.mass+e.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),e.immovable||(e.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*e.bounce.x,e.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.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)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.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,e,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 i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},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,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},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){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},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)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.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 i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.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 i.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 i.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},i.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=Math.atan2(this.velocity.y,this.velocity.x)),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=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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,e,s){var n=e/(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),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),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,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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 i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.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)},i.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)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.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}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),i.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},i.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}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,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)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.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,e,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!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new i.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,m=0,g=0,y=a;y1)for(c=0;cthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=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:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,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:e,height:s,widthInPixels:e*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 i.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,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}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}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.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=i.TILEMAPLAYER,this.physicsType=i.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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.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},i.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)},i.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)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.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},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.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)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.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)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.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+=u){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 T=_[m];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))}}}},i.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),m=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,m,c)}},i.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)},i.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=g-m,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(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,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===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,u=0;u>>0;o.data=l,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}U={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&&(U.properties=o.properties);for(var c,d,p,f=0,m=[],g=[],y=0,h=o.data.length;y536870912)switch(E>2147483648&&(E-=2147483648,p+=4),E>1073741824&&(E-=1073741824,p+=2),E>536870912&&(E-=536870912,p+=1),p){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,d=!0;break;case 7:c=Math.PI/2,d=!0;break;case 2:c=Math.PI,d=!0;break;case 1:c=3*Math.PI/2,d=!0}E>0?((G=new i.Tile(U,E,f,g.length,t.tilewidth,t.tileheight)).rotation=c,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===o.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],r=0;r=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()},i.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},i.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},i.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()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.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},i.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(i.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(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.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 i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.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()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.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},i.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},i.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},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.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!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.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===i.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 m=this.fireRate;(m+=i.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},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.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},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.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},i.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(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.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(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.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=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,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,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);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(i.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 i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.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"),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: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.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.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.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),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,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!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.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.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(i.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(i.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(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.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(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.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 40ef28bdd..bebdc9a50 100644 --- a/build/custom/phaser-creature.js +++ b/build/custom/phaser-creature.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:49 +* v2.8.8 "2017-09-25" - Built: Mon Sep 25 2017 13:19:17 * * 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.8.7', + VERSION: '2.8.8', /** * An array of Phaser game instances. @@ -518,15 +518,15 @@ var Phaser = Phaser || { // jshint ignore:line BOTTOM_RIGHT: 12, /** - * Various blend modes supported by Pixi. + * Various blend modes supported by Pixi. See the samples in {@link https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing Canvas Tutorial: Compositing}. * * IMPORTANT: The WebGL renderer only supports the NORMAL, ADD, MULTIPLY and SCREEN blend modes. * * @constant {Object} Phaser.blendModes - * @property {Number} blendModes.NORMAL - * @property {Number} blendModes.ADD - * @property {Number} blendModes.MULTIPLY - * @property {Number} blendModes.SCREEN + * @property {Number} blendModes.NORMAL - Draws new shapes on top of the existing content. This is the default setting. + * @property {Number} blendModes.ADD - Where both shapes overlap the color is determined by adding color values. + * @property {Number} blendModes.MULTIPLY - The pixels of the top layer are multiplied with the corresponding pixel of the bottom layer, making a darker picture. + * @property {Number} blendModes.SCREEN - The pixels are inverted, multiplied, and inverted again, making a lighter picture. * @property {Number} blendModes.OVERLAY * @property {Number} blendModes.DARKEN * @property {Number} blendModes.LIGHTEN @@ -6693,7 +6693,7 @@ Object.defineProperty(Phaser.Camera.prototype, "shakeIntensity", { * | | preload | create | paused | | * | | loadUpdate* | update* | pauseUpdate* | | * | | | preRender* | | | -* | | loadRender* | render* | pauseRender* | | +* | | loadRender* | render* | render* | | * | | | | resumed | | * | | | | | shutdown | * @@ -8447,7 +8447,7 @@ Phaser.SignalBinding.prototype.constructor = Phaser.SignalBinding; * * The default uniforms, types and values for all Filters are: * -* ``` +* ```javascript * resolution: { type: '2f', value: { x: 256, y: 256 }} * time: { type: '1f', value: 0 } * mouse: { type: '2f', value: { x: 0.0, y: 0.0 } } @@ -8561,7 +8561,7 @@ Phaser.Filter.prototype = { /** * This should be over-ridden. Will receive a variable number of arguments. - * + * * @method Phaser.Filter#init */ init: function () { @@ -8572,7 +8572,7 @@ Phaser.Filter.prototype = { /** * Set the resolution uniforms on the filter. - * + * * @method Phaser.Filter#setResolution * @param {number} width - The width of the display. * @param {number} height - The height of the display. @@ -8586,7 +8586,7 @@ Phaser.Filter.prototype = { /** * Updates the filter. - * + * * @method Phaser.Filter#update * @param {Phaser.Pointer} [pointer] - A Pointer object to use for the filter. The coordinates are mapped to the mouse uniform. */ @@ -8610,7 +8610,7 @@ Phaser.Filter.prototype = { }, /** - * Creates a new Phaser.Image object using a blank texture and assigns + * Creates a new Phaser.Image object using a blank texture and assigns * this Filter to it. The image is then added to the world. * * If you don't provide width and height values then Filter.width and Filter.height are used. @@ -8665,7 +8665,7 @@ Phaser.Filter.prototype = { /** * Syncs the uniforms between the class object and the shaders. - * + * * @method Phaser.Filter#syncUniforms */ syncUniforms: function () { @@ -8679,7 +8679,7 @@ Phaser.Filter.prototype = { /** * Clear down this Filter and null out references to game. - * + * * @method Phaser.Filter#destroy */ destroy: function () { @@ -8747,6 +8747,18 @@ Object.defineProperty(Phaser.Filter.prototype, 'height', { /** * This is a base Plugin template to use for any Phaser plugin development. * +* ##### Callbacks +* +* add | active | visible | remove +* -----|-------------|-------------|-------- +* init | | | +* | preUpdate* | | +* | update* | render* | +* | postUpdate* | postRender* | +* | | | destroy +* +* Update and render calls are repeated (*). +* * @class Phaser.Plugin * @constructor * @param {Phaser.Game} game - A reference to the currently running game. @@ -9421,7 +9433,7 @@ Phaser.Stage.prototype.checkVisibility = function () { }; this._onClick = function (event) { - if (!document.hasFocus()) + if ((document.hasFocus !== undefined) && !document.hasFocus()) { _this.visibilityChange(event); } @@ -14740,25 +14752,44 @@ Phaser.Input = function (game) { this.resetLocked = false; /** - * A Signal that is dispatched each time a pointer is pressed down. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is pressed down. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {Event} The original DOM event. + * * @property {Phaser.Signal} onDown */ this.onDown = null; /** - * A Signal that is dispatched each time a pointer is released. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is released. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {Event} The original DOM event. + * * @property {Phaser.Signal} onUp */ this.onUp = null; /** - * A Signal that is dispatched each time a pointer is tapped. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is tapped. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {boolean} True if this was a double tap. + * * @property {Phaser.Signal} onTap */ this.onTap = null; /** - * A Signal that is dispatched each time a pointer is held down. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is held down. + * It is sent one argument: + * + * - {Phaser.Pointer} The pointer that caused the event. + * * @property {Phaser.Signal} onHold */ this.onHold = null; @@ -24620,21 +24651,21 @@ Phaser.Component.Destroy.prototype = { /** * The Events component is a collection of events fired by the parent Game Object. -* +* * Phaser uses what are known as 'Signals' for all event handling. All of the events in * this class are signals you can subscribe to, much in the same way you'd "listen" for * an event. * * For example to tell when a Sprite has been added to a new group, you can bind a function -* to the `onAddedToGroup` signal: +* to the {@link #onAddedToGroup} signal: * * `sprite.events.onAddedToGroup.add(yourFunction, this);` * * Where `yourFunction` is the function you want called when this event occurs. -* -* For more details about how signals work please see the Phaser.Signal class. * -* The Input-related events will only be dispatched if the Sprite has had `inputEnabled` set to `true` +* For more details about how signals work please see the {@link Phaser.Signal} class. +* +* The Input-related events will only be dispatched if the Sprite has had {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true` * and the Animation-related events only apply to game objects with animations like {@link Phaser.Sprite}. * * @class Phaser.Events @@ -24666,7 +24697,6 @@ Phaser.Events.prototype = { if (this._onDestroy) { this._onDestroy.dispose(); } if (this._onAddedToGroup) { this._onAddedToGroup.dispose(); } if (this._onRemovedFromGroup) { this._onRemovedFromGroup.dispose(); } - if (this._onRemovedFromWorld) { this._onRemovedFromWorld.dispose(); } if (this._onKilled) { this._onKilled.dispose(); } if (this._onRevived) { this._onRevived.dispose(); } if (this._onEnterBounds) { this._onEnterBounds.dispose(); } @@ -24689,186 +24719,213 @@ Phaser.Events.prototype = { // The following properties are sentinels that will be replaced with getters /** - * This signal is dispatched when this Game Object is added to a new Group. + * This signal is dispatched when this Game Object is added to a new {@link Phaser.Group Group}. * It is sent two arguments: - * {any} The Game Object that was added to the Group. - * {Phaser.Group} The Group it was added to. + * + * - {any} The Game Object that was added to the Group. + * - {Phaser.Group} The Group it was added to. + * * @property {Phaser.Signal} onAddedToGroup */ onAddedToGroup: null, /** - * This signal is dispatched when the Game Object is removed from a Group. + * This signal is dispatched when the Game Object is removed from a {@link Phaser.Group Group}. * It is sent two arguments: - * {any} The Game Object that was removed from the Group. - * {Phaser.Group} The Group it was removed from. + * + * - {any} The Game Object that was removed from the Group. + * - {Phaser.Group} The Group it was removed from. + * * @property {Phaser.Signal} onRemovedFromGroup */ onRemovedFromGroup: null, - /** - * This Signal is never used internally by Phaser and is now deprecated. - * @deprecated - * @property {Phaser.Signal} onRemovedFromWorld - */ - onRemovedFromWorld: null, - /** * This signal is dispatched when the Game Object is destroyed. - * This happens when `Sprite.destroy()` is called, or `Group.destroy()` with `destroyChildren` set to true. + * This happens when {@link Phaser.Sprite#destroy Sprite.destroy()} is called, or {@link Phaser.Group#destroy Group.destroy()} with `destroyChildren` set to true. * It is sent one argument: - * {any} The Game Object that was destroyed. + * + * - {any} The Game Object that was destroyed. + * * @property {Phaser.Signal} onDestroy */ onDestroy: null, /** * This signal is dispatched when the Game Object is killed. - * This happens when `Sprite.kill()` is called. - * Please understand the difference between `kill` and `destroy` by looking at their respective methods. + * This happens when {@link Phaser.Sprite#kill Sprite.kill()} is called. + * Please understand the difference between {@link Phaser.Sprite#kill kill} and {@link Phaser.Sprite#destroy destroy} by looking at their respective methods. * It is sent one argument: - * {any} The Game Object that was killed. + * + * - {any} The Game Object that was killed. + * * @property {Phaser.Signal} onKilled */ onKilled: null, /** * This signal is dispatched when the Game Object is revived from a previously killed state. - * This happens when `Sprite.revive()` is called. + * This happens when {@link Phaser.Sprite#revive Sprite.revive()} is called. * It is sent one argument: - * {any} The Game Object that was revived. + * + * - {any} The Game Object that was revived. + * * @property {Phaser.Signal} onRevived */ onRevived: null, /** - * This signal is dispatched when the Game Object leaves the Phaser.World bounds. - * This signal is only if `Sprite.checkWorldBounds` is set to `true`. + * This signal is dispatched when the Game Object leaves the Phaser.World {@link Phaser.World#bounds bounds}. + * This signal is only if {@link Phaser.Sprite#checkWorldBounds Sprite.checkWorldBounds} is set to `true`. * It is sent one argument: - * {any} The Game Object that left the World bounds. + * + * - {any} The Game Object that left the World bounds. + * * @property {Phaser.Signal} onOutOfBounds */ onOutOfBounds: null, /** - * This signal is dispatched when the Game Object returns within the Phaser.World bounds, having previously been outside of them. - * This signal is only if `Sprite.checkWorldBounds` is set to `true`. + * This signal is dispatched when the Game Object returns within the Phaser.World {@link Phaser.World#bounds bounds}, having previously been outside of them. + * This signal is only if {@link Phaser.Sprite#checkWorldBounds Sprite.checkWorldBounds} is set to `true`. * It is sent one argument: - * {any} The Game Object that entered the World bounds. + * + * - {any} The Game Object that entered the World bounds. + * * @property {Phaser.Signal} onEnterBounds */ onEnterBounds: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an over event from a Phaser.Pointer. + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an over event from a {@link Phaser.Pointer}. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputOver */ onInputOver: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an out event from a Phaser.Pointer, which was previously over it. + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an out event from a {@link Phaser.Pointer}, which was previously over it. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputOut */ onInputOut: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives a down event from a Phaser.Pointer. This effectively means the Pointer has been + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives a down event from a {@link Phaser.Pointer}. This effectively means the Pointer has been * pressed down (but not yet released) on the Game Object. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputDown */ onInputDown: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an up event from a Phaser.Pointer. This effectively means the Pointer had been + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an up event from a {@link Phaser.Pointer}. This effectively means the Pointer had been * pressed down, and was then released on the Game Object. * It is sent three arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {boolean} isOver - Is the Pointer still over the Game Object? + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {boolean} isOver - Is the Pointer still over the Game Object? + * * @property {Phaser.Signal} onInputUp */ onInputUp: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer starts to drag the Game Object, taking into consideration the various + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} starts to drag the Game Object, taking into consideration the various * drag limitations that may be set. * It is sent four arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {number} The x coordinate that the drag started from. - * {number} The y coordinate that the drag started from. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {number} The x coordinate that the drag started from. + * - {number} The y coordinate that the drag started from. + * * @property {Phaser.Signal} onDragStart */ onDragStart: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer is actively dragging the Game Object. + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} is actively dragging the Game Object. * Be warned: This is a high volume Signal. Be careful what you bind to it. * It is sent six arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {number} The new x coordinate of the Game Object. - * {number} The new y coordinate of the Game Object. - * {Phaser.Point} A Point object that contains the point the Game Object was snapped to, if `snapOnDrag` has been enabled. - * {boolean} The `fromStart` boolean, indicates if this is the first update immediately after the drag has started. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {number} The new x coordinate of the Game Object. + * - {number} The new y coordinate of the Game Object. + * - {Phaser.Point} A Point object that contains the point the Game Object was snapped to, if `snapOnDrag` has been enabled. + * - {boolean} The `fromStart` boolean, indicates if this is the first update immediately after the drag has started. + * * @property {Phaser.Signal} onDragUpdate */ onDragUpdate: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer stops dragging the Game Object. + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} stops dragging the Game Object. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onDragStop */ onDragStop: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, * and an Animation has been played. - * You can also listen to `Animation.onStart` rather than via the Game Objects events. + * You can also listen to {@link Phaser.Animation#onStart} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that was started. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that was started. + * * @property {Phaser.Signal} onAnimationStart */ onAnimationStart: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, - * and an Animation has been stopped (via `animation.stop()` and the `dispatchComplete` argument has been set. - * You can also listen to `Animation.onComplete` rather than via the Game Objects events. + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, + * and an Animation has been stopped (via {@link Phaser.AnimationManager#stop animation.stop()} and the `dispatchComplete` argument has been set. + * You can also listen to {@link Phaser.Animation#onComplete} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that was stopped. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that was stopped. + * * @property {Phaser.Signal} onAnimationComplete */ onAnimationComplete: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, * and an Animation has looped playback. - * You can also listen to `Animation.onLoop` rather than via the Game Objects events. + * You can also listen to {@link Phaser.Animation#onLoop} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that looped. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that looped. + * * @property {Phaser.Signal} onAnimationLoop */ onAnimationLoop: null @@ -27524,7 +27581,7 @@ Phaser.Image.prototype.preUpdate = function() { * @param {number} [x=0] - X position of the Button. * @param {number} [y=0] - Y position of the Button. * @param {string} [key] - The image key (in the Game.Cache) to use as the texture for this Button. -* @param {function} [callback] - The function to call when this Button is pressed. +* @param {function} [callback] - The function to call when this Button is pressed, receiving `this` (the Button), `pointer`, and `isOver` (see {@link Phaser.Events#onInputUp}.) * @param {object} [callbackContext] - The context in which the callback will be called (usually 'this'). * @param {string|integer} [overFrame] - The frame / frameName when the button is in the Over state. * @param {string|integer} [outFrame] - The frame / frameName when the button is in the Out state. @@ -27679,7 +27736,7 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame, * @property {Phaser.PointerMode?} justReleasedPreventsOver=ACTIVE_CURSOR */ this.justReleasedPreventsOver = Phaser.PointerMode.TOUCH; - + /** * When true the the texture frame will not be automatically switched on up/down/over/out events. * @property {boolean} freezeFrames @@ -27716,8 +27773,6 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame, this.events.onInputDown.add(this.onInputDownHandler, this); this.events.onInputUp.add(this.onInputUpHandler, this); - this.events.onRemovedFromWorld.add(this.removedFromWorld, this); - }; Phaser.Button.prototype = Object.create(Phaser.Image.prototype); @@ -27740,18 +27795,6 @@ Phaser.Button.prototype.clearFrames = function () { }; -/** -* Called when this Button is removed from the World. -* -* @method Phaser.Button#removedFromWorld -* @protected -*/ -Phaser.Button.prototype.removedFromWorld = function () { - - this.inputEnabled = false; - -}; - /** * Set the frame name/ID for the given state. * @@ -28798,28 +28841,34 @@ Phaser.BitmapData.prototype = { }, /** - * Creates a new Image element by converting this BitmapDatas canvas into a dataURL. + * Creates a new {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image Image} element by converting this BitmapDatas canvas into a dataURL. * - * The image is then stored in the image Cache using the key given. + * The image is then stored in the {@link Phaser.Cache image Cache} using the key given. * - * Finally a PIXI.Texture is created based on the image and returned. + * Finally a {@link 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: + * key or the texture. First call `generateTexture`: * - * `var texture = bitmapdata.generateTexture('ball');` + * ```javascript + * var texture = bitmapdata.generateTexture('ball'); + * ``` * * Then you can either apply the texture to a sprite: * - * `game.add.sprite(0, 0, texture);` + * ```javascript + * game.add.sprite(0, 0, texture); + * ``` * * or by using the string based key: * - * `game.add.sprite(0, 0, 'ball');` + * ```javascript + * game.add.sprite(0, 0, 'ball'); + * ``` * * Most browsers now load the image data asynchronously, so you should use a callback: * - * ``` + * ```javascript * bitmapdata.generateTexture('ball', function (texture) { * game.add.sprite(0, 0, texture); * // or @@ -32755,7 +32804,7 @@ Phaser.GraphicsData.prototype.clone = function () { * Circles and Polygons. They also include lines, arcs and curves. When you initially create a Graphics object it will * be empty. To 'draw' to it you first specify a lineStyle or fillStyle (or both), and then draw a shape. For example: * -* ``` +* ```javascript * graphics.beginFill(0xff0000); * graphics.drawCircle(50, 50, 100); * graphics.endFill(); @@ -53537,7 +53586,7 @@ Phaser.Loader.prototype = { * * The texture path object looks like this: * - * ``` + * ```javascript * load.image('factory', { * etc1: 'assets/factory_etc1.pkm', * s3tc: 'assets/factory_dxt1.pvr', @@ -53597,7 +53646,7 @@ Phaser.Loader.prototype = { * * The texture path object looks like this: * - * ``` + * ```javascript * load.texture('factory', { * etc1: 'assets/factory_etc1.pkm', * s3tc: 'assets/factory_dxt1.pvr', @@ -62220,25 +62269,27 @@ Phaser.Utils.Debug.prototype = { this.line('clearBeforeRender: ' + r.clearBeforeRender); this.line('resolution: ' + r.resolution); this.line('transparent: ' + r.transparent); + this.line('renderSession:'); if (r.gl) { - this.line('drawCount: ' + s.drawCount); - this.line('flushCount: ' + s.flushCount); - this.line('maxTextures: ' + r.maxTextures); - this.line('maxTextureSize: ' + r.maxTextureSize); - this.line('maxTextureAvailableSpace: ' + s.maxTextureAvailableSpace); - this.line('currentBatchedTextures: ('+ r.currentBatchedTextures.length + ')'); + this.line(' currentBatchedTextures: ('+ r.currentBatchedTextures.length + ')'); for (var i = 0; i < r.currentBatchedTextures.length; i++) { - this.line(' ' + r.currentBatchedTextures[i]); + this.line(' ' + r.currentBatchedTextures[i]); } + + this.line(' drawCount: ' + s.drawCount); + this.line(' maxTextures: ' + r.maxTextures); + this.line(' maxTextureSize: ' + r.maxTextureSize); + this.line(' maxTextureAvailableSpace: ' + s.maxTextureAvailableSpace); + this.line(' roundPixels: ' + s.roundPixels); } else { - this.line('roundPixels: ' + s.roundPixels); - this.line('scaleMode: ' + (s.scaleMode === 0 ? 'LINEAR' : (s.scaleMode === 1 ? 'NEAREST' : s.scaleMode))); + this.line(' roundPixels: ' + s.roundPixels); + this.line(' scaleMode: ' + (s.scaleMode === 0 ? 'LINEAR' : (s.scaleMode === 1 ? 'NEAREST' : s.scaleMode))); } this.stop(); @@ -63238,7 +63289,7 @@ Phaser.ArrayUtils = { /** * Create an array representing the inclusive range of numbers (usually integers) in `[start, end]`. - * This is equivalent to `numberArrayStep(start, end, 1)`. + * This is equivalent to `numberArrayStep(start, 1 + end, 1)`. * * @method Phaser.ArrayUtils.numberArray * @param {number} start - The minimum value the array starts with. @@ -64697,7 +64748,7 @@ Phaser.Color = { */ updateColor: function (out) { - out.rgba = 'rgba(' + out.r.toString() + ',' + out.g.toString() + ',' + out.b.toString() + ',' + out.a.toString() + ')'; + out.rgba = 'rgba(' + out.r.toFixed() + ',' + out.g.toFixed() + ',' + out.b.toFixed() + ',' + out.a.toString() + ')'; out.color = Phaser.Color.getColor(out.r, out.g, out.b); out.color32 = Phaser.Color.getColor32(out.a * 255, out.r, out.g, out.b); @@ -73585,7 +73636,7 @@ Phaser.Physics.P2.Body.prototype = { if (rotation === undefined) { rotation = 0; } this.data.addShape(shape, [this.world.pxmi(offsetX), this.world.pxmi(offsetY)], rotation); - this.shapeChanged(rotation); + this.shapeChanged(); return shape; @@ -73871,14 +73922,12 @@ Phaser.Physics.P2.Body.prototype = { }, /** - * Updates the debug draw if any body shapes change. Always update the angle data prior to debug drawing the shape. + * Updates the debug draw if any body shapes change. * * @method Phaser.Physics.P2.Body#shapeChanged - * @param {number} [rotation=0] - Local rotation of the shape relative to the body center of mass, specified in radians. */ - shapeChanged: function(rotation) { + shapeChanged: function() { - this.data.angle=rotation; if (this.debugBody) { this.debugBody.draw(); @@ -74012,10 +74061,9 @@ Phaser.Physics.P2.Body.prototype = { * @param {string|object} object - 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. * @param {number} [scale=1] - Optionally resize the loaded polygon. - * @param {number} [rotation=0] - Local rotation of the shape relative to the body center of mass, specified in radians. * @return {boolean} True on success, else false. */ - loadPolygon: function (key, object, scale,rotation) { + loadPolygon: function (key, object, scale) { if (key === null) { @@ -74068,7 +74116,7 @@ Phaser.Physics.P2.Body.prototype = { } this.data.aabbNeedsUpdate = true; - this.shapeChanged(rotation); + this.shapeChanged(); return true; @@ -74680,7 +74728,7 @@ Phaser.Utils.extend(Phaser.Physics.P2.BodyDebug.prototype, { { child = obj.shapes[i]; offset = child.position || 0; - angle = 0 ; + angle = child.angle || 0; if (child instanceof p2.Circle) { @@ -80299,6 +80347,7 @@ Phaser.Tileset.prototype = { * * @method Phaser.Tileset#containsTileIndex * @public + * @param {number} tileIndex * @return {boolean} True if this tileset contains the given index. */ containsTileIndex: function (tileIndex) { @@ -80321,7 +80370,7 @@ Phaser.Tileset.prototype = { this.image = image; this.updateTileData(image.width, image.height); - + }, /** @@ -80889,19 +80938,26 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this.particleSendToBack = false; /** - * @property {object} count - Records emitter activity. - * @property {number} count.emitted - How many particles were emitted during the last update. - * @property {number} count.failed - How many particles could not be emitted during the last update (because no particles were available). - * @property {number} count.totalEmitted - How many particles have been emitted. - * @property {number} count.totalFailed - How many particles could not be emitted when they were due (because no particles were available). - */ - this.count = { + * @property {object} counts - Records emitter activity. + * @property {number} counts.emitted - How many particles were emitted during the last update. + * @property {number} counts.failed - How many particles could not be emitted during the last update (because no particles were available). + * @property {number} counts.totalEmitted - How many particles have been emitted. + * @property {number} counts.totalFailed - How many particles could not be emitted when they were due (because no particles were available). + */ + this.counts = { emitted: 0, failed: 0, totalEmitted: 0, totalFailed: 0 }; + /** + * Alias for {@link #counts}. Will be removed in a future release. + * + * @deprecated Use {@link #counts} instead. + */ + this.count = this.counts; + /** * @property {Phaser.Point} _gravity - Internal gravity value. * @private diff --git a/build/custom/phaser-creature.map b/build/custom/phaser-creature.map index 392b1e0d0..a20b4e8a4 100644 --- a/build/custom/phaser-creature.map +++ b/build/custom/phaser-creature.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-creature.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","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","Math","trunc","x","ceil","floor","Function","prototype","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","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperty","value","last","pop","l","current","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","name","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","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","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","Ellipse","width","height","p","sqrt","normx","normy","Line","x1","y1","x2","y2","start","end","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","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","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","y0","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","inflatePoint","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","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","h","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","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","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_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","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","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","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","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","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","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","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","count","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","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","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","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","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_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","CONTACT","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","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","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","pointerLocalCoord","globalToLocal","py","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","_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","k","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","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","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","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","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","removedFromWorld","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","gl","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","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","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","Infinity","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","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","startAngle","endAngle","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","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","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","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","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","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","x0","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","clip","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","getFirst","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","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","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","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","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","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","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","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","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","self","_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","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","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","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","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","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","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","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","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","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","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","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","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","flushCount","maxTextures","maxTextureSize","maxTextureAvailableSpace","currentBatchedTextures","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","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","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","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","steps","currentStep","src1","src2","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","center","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","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","on","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","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","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","tiles","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","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","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","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","lastgid","curo","polygon","ellipse","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","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","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","_enableMultiTextureToggle","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","animation","loadAnchors","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","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","onAccess","onError","onTimeout","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","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","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":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","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","Math","trunc","x","ceil","floor","Function","prototype","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","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperty","value","last","pop","l","current","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","name","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","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","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","Ellipse","width","height","p","sqrt","normx","normy","Line","x1","y1","x2","y2","start","end","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","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","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","y0","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","inflatePoint","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","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","h","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","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","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_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","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","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","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","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","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","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","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","count","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","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","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","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","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_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","CONTACT","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","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","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","pointerLocalCoord","globalToLocal","py","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","_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","k","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","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","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_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","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","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","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","gl","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","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","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","Infinity","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","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","startAngle","endAngle","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","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","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","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","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","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","x0","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","clip","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","getFirst","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","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","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","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","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","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","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","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","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","self","_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","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","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","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","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","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","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","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","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","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","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","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","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","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","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","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","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","steps","currentStep","src1","src2","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","center","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","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","on","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","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","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","tiles","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","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","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","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","lastgid","curo","polygon","ellipse","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","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","_enableMultiTextureToggle","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","animation","loadAnchors","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","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","onAccess","onError","onTimeout","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","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","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 6950b11d3..493aab7e9 100644 --- a/build/custom/phaser-creature.min.js +++ b/build/custom/phaser-creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.7 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.8 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.7",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,o,r){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==o&&null!==o||(o=0),void 0!==r&&null!==r||(r=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=o,this.ty=r,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,o){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=o,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,o=t.y;return e.x=this.d*s*n+-this.c*s*o+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*o+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,o=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=o*e-this.ty*i,this.ty=o*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.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,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,o=[];return e.forEach(function(e){i.forEach(function(i){for(var r=0;rthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.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)},i.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=0;r2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.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 e=!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}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}o&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*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,e,s){s||(s=i.Color.createColor());var n=~~(t+e*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,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),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 e=i.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{i.Color.unpackPixel(this.getPixel32(s,n),e),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===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.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,e,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 i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.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 i.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 i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),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)){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+e,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,e,s){if(void 0===e&&(e=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 i.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,e&&(this.op=e),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,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.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,e.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),i.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 i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.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=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.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&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.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&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.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},i.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},i.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},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.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},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.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)},i.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,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.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===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),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*(E-2)],d=n[2*(E-2)+1],p=n[2*(E-1)],y=-(d-(f=n[2*(E-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),R.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,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.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}},i.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},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.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},i.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},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=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},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.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},i.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()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.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}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.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=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.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===i.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 i.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 i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.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},i.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)},i.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++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.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)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.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,"")},i.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},i.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()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.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(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).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(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.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)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=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===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.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},i.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},i.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},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.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(i.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(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.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=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.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,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){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,R=d*x+v*f+p*b-x*f-v*p-d*b,E=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,R/k,O/k,E/k,I/k,L/k),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.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(i.Rope.prototype,"segments",{get:function(){for(var t,e,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(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.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," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.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){return this._tweens.some(function(e){return e.target===t})},_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)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.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},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=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],10)),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 i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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():i.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,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.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){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(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-i.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*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.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])},i.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]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,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=e,this.key=e,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.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._removeFromSoundManager=!1,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*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.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},i.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._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),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(){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)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===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._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,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.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),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.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!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._sound&&(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&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(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,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.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(i.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))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=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 i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,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);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;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),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.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=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,o,r,a,h){var l={r:t||0,g:e||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 i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o){void 0===o&&(o=255);var r=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-r.red)*n/s+r.red,l=(a.green-r.green)*n/s+r.green,c=(a.blue-r.blue)*n/s+r.blue;return i.Color.getColor32(o,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.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,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.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,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.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===i.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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.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)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.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,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.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:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.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),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.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)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.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,e,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 i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},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,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},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){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},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)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.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 i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.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 i.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 i.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},i.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=Math.atan2(this.velocity.y,this.velocity.x)),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=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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,e,s){var n=e/(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),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),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,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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 i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.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)},i.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)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.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}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.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,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,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,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,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 i.Physics.P2.Body?t.data:t.body&&t.body.type===i.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,e,s,n){void 0===e&&(e=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=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.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(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.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}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.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(t){this.data.angle=t,this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++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"}}),i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.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)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.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)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.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)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.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)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.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)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.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},i.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}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,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)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.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,e,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!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.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)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=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:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,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:e,height:s,widthInPixels:e*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 i.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,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}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}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.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=i.TILEMAPLAYER,this.physicsType=i.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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.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},i.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)},i.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)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.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},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.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)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.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)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.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))}}}},i.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)}},i.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)},i.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(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,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===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=l,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}U={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&&(U.properties=r.properties);for(var u,d,p,f=0,m=[],g=[],y=0,h=r.data.length;y536870912)switch(A>2147483648&&(A-=2147483648,p+=4),A>1073741824&&(A-=1073741824,p+=2),A>536870912&&(A-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}A>0?((G=new i.Tile(U,A,f,g.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===r.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],o=0;o=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()},i.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},i.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},i.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()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.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},i.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(i.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(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.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 i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.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()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.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},i.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},i.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},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.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!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.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===i.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+=i.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},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.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},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.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},i.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(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.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(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.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=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=i._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;","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) * 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.aTextureIndex],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},i.Creature=function(t,e,s,n,o,r,a){if(this.game=t,void 0===r&&(r="default"),this.type=i.CREATURE,t.cache.checkJSONKey(o)){var h=t.cache.getJSON(o);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,r,this._creature),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 i.Point,this.creatureBoundsMax=new i.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.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.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.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),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,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!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.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.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(i.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(i.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(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.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(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); +(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.8",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,o,r){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==o&&null!==o||(o=0),void 0!==r&&null!==r||(r=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=o,this.ty=r,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,o){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=o,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,o=t.y;return e.x=this.d*s*n+-this.c*s*o+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*o+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,o=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=o*e-this.ty*i,this.ty=o*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.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,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,o=[];return e.forEach(function(e){i.forEach(function(i){for(var r=0;rthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.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)},i.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=0;r2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.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 e=!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}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}o&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*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,e,s){s||(s=i.Color.createColor());var n=~~(t+e*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,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),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 e=i.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{i.Color.unpackPixel(this.getPixel32(s,n),e),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===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.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,e,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 i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.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 i.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 i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),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)){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+e,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,e,s){if(void 0===e&&(e=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 i.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,e&&(this.op=e),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,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.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,e.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),i.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 i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.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=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.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&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.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&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.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},i.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},i.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},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.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},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.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)},i.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,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.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===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),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*(E-2)],d=n[2*(E-2)+1],p=n[2*(E-1)],y=-(d-(f=n[2*(E-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),R.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,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.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}},i.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},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.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},i.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},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=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},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.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},i.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()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.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}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.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=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.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===i.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 i.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 i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.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},i.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)},i.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++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.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)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.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,"")},i.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},i.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()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.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(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).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(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.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)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=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===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.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},i.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},i.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},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.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(i.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(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.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=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.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,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){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,R=d*x+v*f+p*b-x*f-v*p-d*b,E=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,R/k,O/k,E/k,I/k,L/k),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.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(i.Rope.prototype,"segments",{get:function(){for(var t,e,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(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.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," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.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){return this._tweens.some(function(e){return e.target===t})},_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)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.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},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=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],10)),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 i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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():i.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,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.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){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(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-i.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*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.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])},i.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]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,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=e,this.key=e,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.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._removeFromSoundManager=!1,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*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.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},i.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._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),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(){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)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===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._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,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.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),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.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!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._sound&&(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&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(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,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.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(i.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))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=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 i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,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);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;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),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.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=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,o,r,a,h){var l={r:t||0,g:e||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 i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o){void 0===o&&(o=255);var r=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-r.red)*n/s+r.red,l=(a.green-r.green)*n/s+r.green,c=(a.blue-r.blue)*n/s+r.blue;return i.Color.getColor32(o,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.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,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.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,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.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===i.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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.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)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.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,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.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:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.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),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.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)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.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,e,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 i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},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,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},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){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},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)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.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 i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.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 i.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 i.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},i.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=Math.atan2(this.velocity.y,this.velocity.x)),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=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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,e,s){var n=e/(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),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),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,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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 i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.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)},i.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)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.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}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.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,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,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,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,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 i.Physics.P2.Body?t.data:t.body&&t.body.type===i.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,e,s,n){void 0===e&&(e=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=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.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(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.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}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.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;np;n=0<=p?++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"}}),i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.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)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.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)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.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)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.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)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.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)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.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},i.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}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,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)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.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,e,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!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.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)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=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:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,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:e,height:s,widthInPixels:e*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 i.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,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}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}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.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=i.TILEMAPLAYER,this.physicsType=i.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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.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},i.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)},i.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)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.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},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.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)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.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)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.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))}}}},i.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)}},i.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)},i.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(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,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===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=l,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}U={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&&(U.properties=r.properties);for(var u,d,p,f=0,m=[],g=[],y=0,h=r.data.length;y536870912)switch(A>2147483648&&(A-=2147483648,p+=4),A>1073741824&&(A-=1073741824,p+=2),A>536870912&&(A-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}A>0?((G=new i.Tile(U,A,f,g.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===r.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],o=0;o=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()},i.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},i.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},i.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()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.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},i.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(i.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(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.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 i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.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()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.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},i.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},i.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},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.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!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.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===i.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+=i.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},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.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},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.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},i.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(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.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(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.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=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=i._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;","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) * 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.aTextureIndex],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},i.Creature=function(t,e,s,n,o,r,a){if(this.game=t,void 0===r&&(r="default"),this.type=i.CREATURE,t.cache.checkJSONKey(o)){var h=t.cache.getJSON(o);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,r,this._creature),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 i.Point,this.creatureBoundsMax=new i.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.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.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.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),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,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!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.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.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(i.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(i.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(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.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(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).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 38b47c3ea..81b77ff7c 100644 --- a/build/custom/phaser-minimum.js +++ b/build/custom/phaser-minimum.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:33 +* v2.8.8 "2017-09-25" - Built: Mon Sep 25 2017 13:19:02 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -3522,7 +3522,6 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.game = this.game; this.renderSession.gl = this.gl; this.renderSession.drawCount = 0; - this.renderSession.flushCount = 0; this.renderSession.shaderManager = this.shaderManager; this.renderSession.maskManager = this.maskManager; this.renderSession.filterManager = this.filterManager; @@ -3531,6 +3530,7 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.stencilManager = this.stencilManager; this.renderSession.renderer = this; this.renderSession.resolution = this.resolution; + this.renderSession.roundPixels = false; this.renderSession.maxTextureAvailableSpace = null; // filled in setTexturePriority() // time init the context.. @@ -3737,7 +3737,6 @@ PIXI.WebGLRenderer.prototype.renderDisplayObject = function(displayObject, proje // reset the render session data.. this.renderSession.drawCount = 0; - this.renderSession.flushCount = 0; // make sure to flip the Y if using a render texture.. this.renderSession.flipY = buffer ? -1 : 1; @@ -5280,7 +5279,6 @@ PIXI.WebGLSpriteBatch.prototype.flush = function () { // then reset the batch! this.currentBatchSize = 0; - this.renderSession.flushCount++; }; /** @@ -5742,7 +5740,6 @@ PIXI.WebGLFastSpriteBatch.prototype.flush = function() // increment the draw count this.renderSession.drawCount++; - this.renderSession.flushCount++; }; @@ -7597,7 +7594,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.8.7', + VERSION: '2.8.8', /** * An array of Phaser game instances. @@ -8062,15 +8059,15 @@ var Phaser = Phaser || { // jshint ignore:line BOTTOM_RIGHT: 12, /** - * Various blend modes supported by Pixi. + * Various blend modes supported by Pixi. See the samples in {@link https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing Canvas Tutorial: Compositing}. * * IMPORTANT: The WebGL renderer only supports the NORMAL, ADD, MULTIPLY and SCREEN blend modes. * * @constant {Object} Phaser.blendModes - * @property {Number} blendModes.NORMAL - * @property {Number} blendModes.ADD - * @property {Number} blendModes.MULTIPLY - * @property {Number} blendModes.SCREEN + * @property {Number} blendModes.NORMAL - Draws new shapes on top of the existing content. This is the default setting. + * @property {Number} blendModes.ADD - Where both shapes overlap the color is determined by adding color values. + * @property {Number} blendModes.MULTIPLY - The pixels of the top layer are multiplied with the corresponding pixel of the bottom layer, making a darker picture. + * @property {Number} blendModes.SCREEN - The pixels are inverted, multiplied, and inverted again, making a lighter picture. * @property {Number} blendModes.OVERLAY * @property {Number} blendModes.DARKEN * @property {Number} blendModes.LIGHTEN @@ -14237,7 +14234,7 @@ Object.defineProperty(Phaser.Camera.prototype, "shakeIntensity", { * | | preload | create | paused | | * | | loadUpdate* | update* | pauseUpdate* | | * | | | preRender* | | | -* | | loadRender* | render* | pauseRender* | | +* | | loadRender* | render* | render* | | * | | | | resumed | | * | | | | | shutdown | * @@ -15991,7 +15988,7 @@ Phaser.SignalBinding.prototype.constructor = Phaser.SignalBinding; * * The default uniforms, types and values for all Filters are: * -* ``` +* ```javascript * resolution: { type: '2f', value: { x: 256, y: 256 }} * time: { type: '1f', value: 0 } * mouse: { type: '2f', value: { x: 0.0, y: 0.0 } } @@ -16105,7 +16102,7 @@ Phaser.Filter.prototype = { /** * This should be over-ridden. Will receive a variable number of arguments. - * + * * @method Phaser.Filter#init */ init: function () { @@ -16116,7 +16113,7 @@ Phaser.Filter.prototype = { /** * Set the resolution uniforms on the filter. - * + * * @method Phaser.Filter#setResolution * @param {number} width - The width of the display. * @param {number} height - The height of the display. @@ -16130,7 +16127,7 @@ Phaser.Filter.prototype = { /** * Updates the filter. - * + * * @method Phaser.Filter#update * @param {Phaser.Pointer} [pointer] - A Pointer object to use for the filter. The coordinates are mapped to the mouse uniform. */ @@ -16154,7 +16151,7 @@ Phaser.Filter.prototype = { }, /** - * Creates a new Phaser.Image object using a blank texture and assigns + * Creates a new Phaser.Image object using a blank texture and assigns * this Filter to it. The image is then added to the world. * * If you don't provide width and height values then Filter.width and Filter.height are used. @@ -16209,7 +16206,7 @@ Phaser.Filter.prototype = { /** * Syncs the uniforms between the class object and the shaders. - * + * * @method Phaser.Filter#syncUniforms */ syncUniforms: function () { @@ -16223,7 +16220,7 @@ Phaser.Filter.prototype = { /** * Clear down this Filter and null out references to game. - * + * * @method Phaser.Filter#destroy */ destroy: function () { @@ -16291,6 +16288,18 @@ Object.defineProperty(Phaser.Filter.prototype, 'height', { /** * This is a base Plugin template to use for any Phaser plugin development. * +* ##### Callbacks +* +* add | active | visible | remove +* -----|-------------|-------------|-------- +* init | | | +* | preUpdate* | | +* | update* | render* | +* | postUpdate* | postRender* | +* | | | destroy +* +* Update and render calls are repeated (*). +* * @class Phaser.Plugin * @constructor * @param {Phaser.Game} game - A reference to the currently running game. @@ -16965,7 +16974,7 @@ Phaser.Stage.prototype.checkVisibility = function () { }; this._onClick = function (event) { - if (!document.hasFocus()) + if ((document.hasFocus !== undefined) && !document.hasFocus()) { _this.visibilityChange(event); } @@ -22284,25 +22293,44 @@ Phaser.Input = function (game) { this.resetLocked = false; /** - * A Signal that is dispatched each time a pointer is pressed down. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is pressed down. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {Event} The original DOM event. + * * @property {Phaser.Signal} onDown */ this.onDown = null; /** - * A Signal that is dispatched each time a pointer is released. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is released. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {Event} The original DOM event. + * * @property {Phaser.Signal} onUp */ this.onUp = null; /** - * A Signal that is dispatched each time a pointer is tapped. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is tapped. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {boolean} True if this was a double tap. + * * @property {Phaser.Signal} onTap */ this.onTap = null; /** - * A Signal that is dispatched each time a pointer is held down. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is held down. + * It is sent one argument: + * + * - {Phaser.Pointer} The pointer that caused the event. + * * @property {Phaser.Signal} onHold */ this.onHold = null; @@ -29674,21 +29702,21 @@ Phaser.Component.Destroy.prototype = { /** * The Events component is a collection of events fired by the parent Game Object. -* +* * Phaser uses what are known as 'Signals' for all event handling. All of the events in * this class are signals you can subscribe to, much in the same way you'd "listen" for * an event. * * For example to tell when a Sprite has been added to a new group, you can bind a function -* to the `onAddedToGroup` signal: +* to the {@link #onAddedToGroup} signal: * * `sprite.events.onAddedToGroup.add(yourFunction, this);` * * Where `yourFunction` is the function you want called when this event occurs. -* -* For more details about how signals work please see the Phaser.Signal class. * -* The Input-related events will only be dispatched if the Sprite has had `inputEnabled` set to `true` +* For more details about how signals work please see the {@link Phaser.Signal} class. +* +* The Input-related events will only be dispatched if the Sprite has had {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true` * and the Animation-related events only apply to game objects with animations like {@link Phaser.Sprite}. * * @class Phaser.Events @@ -29720,7 +29748,6 @@ Phaser.Events.prototype = { if (this._onDestroy) { this._onDestroy.dispose(); } if (this._onAddedToGroup) { this._onAddedToGroup.dispose(); } if (this._onRemovedFromGroup) { this._onRemovedFromGroup.dispose(); } - if (this._onRemovedFromWorld) { this._onRemovedFromWorld.dispose(); } if (this._onKilled) { this._onKilled.dispose(); } if (this._onRevived) { this._onRevived.dispose(); } if (this._onEnterBounds) { this._onEnterBounds.dispose(); } @@ -29743,186 +29770,213 @@ Phaser.Events.prototype = { // The following properties are sentinels that will be replaced with getters /** - * This signal is dispatched when this Game Object is added to a new Group. + * This signal is dispatched when this Game Object is added to a new {@link Phaser.Group Group}. * It is sent two arguments: - * {any} The Game Object that was added to the Group. - * {Phaser.Group} The Group it was added to. + * + * - {any} The Game Object that was added to the Group. + * - {Phaser.Group} The Group it was added to. + * * @property {Phaser.Signal} onAddedToGroup */ onAddedToGroup: null, /** - * This signal is dispatched when the Game Object is removed from a Group. + * This signal is dispatched when the Game Object is removed from a {@link Phaser.Group Group}. * It is sent two arguments: - * {any} The Game Object that was removed from the Group. - * {Phaser.Group} The Group it was removed from. + * + * - {any} The Game Object that was removed from the Group. + * - {Phaser.Group} The Group it was removed from. + * * @property {Phaser.Signal} onRemovedFromGroup */ onRemovedFromGroup: null, - /** - * This Signal is never used internally by Phaser and is now deprecated. - * @deprecated - * @property {Phaser.Signal} onRemovedFromWorld - */ - onRemovedFromWorld: null, - /** * This signal is dispatched when the Game Object is destroyed. - * This happens when `Sprite.destroy()` is called, or `Group.destroy()` with `destroyChildren` set to true. + * This happens when {@link Phaser.Sprite#destroy Sprite.destroy()} is called, or {@link Phaser.Group#destroy Group.destroy()} with `destroyChildren` set to true. * It is sent one argument: - * {any} The Game Object that was destroyed. + * + * - {any} The Game Object that was destroyed. + * * @property {Phaser.Signal} onDestroy */ onDestroy: null, /** * This signal is dispatched when the Game Object is killed. - * This happens when `Sprite.kill()` is called. - * Please understand the difference between `kill` and `destroy` by looking at their respective methods. + * This happens when {@link Phaser.Sprite#kill Sprite.kill()} is called. + * Please understand the difference between {@link Phaser.Sprite#kill kill} and {@link Phaser.Sprite#destroy destroy} by looking at their respective methods. * It is sent one argument: - * {any} The Game Object that was killed. + * + * - {any} The Game Object that was killed. + * * @property {Phaser.Signal} onKilled */ onKilled: null, /** * This signal is dispatched when the Game Object is revived from a previously killed state. - * This happens when `Sprite.revive()` is called. + * This happens when {@link Phaser.Sprite#revive Sprite.revive()} is called. * It is sent one argument: - * {any} The Game Object that was revived. + * + * - {any} The Game Object that was revived. + * * @property {Phaser.Signal} onRevived */ onRevived: null, /** - * This signal is dispatched when the Game Object leaves the Phaser.World bounds. - * This signal is only if `Sprite.checkWorldBounds` is set to `true`. + * This signal is dispatched when the Game Object leaves the Phaser.World {@link Phaser.World#bounds bounds}. + * This signal is only if {@link Phaser.Sprite#checkWorldBounds Sprite.checkWorldBounds} is set to `true`. * It is sent one argument: - * {any} The Game Object that left the World bounds. + * + * - {any} The Game Object that left the World bounds. + * * @property {Phaser.Signal} onOutOfBounds */ onOutOfBounds: null, /** - * This signal is dispatched when the Game Object returns within the Phaser.World bounds, having previously been outside of them. - * This signal is only if `Sprite.checkWorldBounds` is set to `true`. + * This signal is dispatched when the Game Object returns within the Phaser.World {@link Phaser.World#bounds bounds}, having previously been outside of them. + * This signal is only if {@link Phaser.Sprite#checkWorldBounds Sprite.checkWorldBounds} is set to `true`. * It is sent one argument: - * {any} The Game Object that entered the World bounds. + * + * - {any} The Game Object that entered the World bounds. + * * @property {Phaser.Signal} onEnterBounds */ onEnterBounds: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an over event from a Phaser.Pointer. + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an over event from a {@link Phaser.Pointer}. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputOver */ onInputOver: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an out event from a Phaser.Pointer, which was previously over it. + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an out event from a {@link Phaser.Pointer}, which was previously over it. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputOut */ onInputOut: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives a down event from a Phaser.Pointer. This effectively means the Pointer has been + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives a down event from a {@link Phaser.Pointer}. This effectively means the Pointer has been * pressed down (but not yet released) on the Game Object. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputDown */ onInputDown: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an up event from a Phaser.Pointer. This effectively means the Pointer had been + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an up event from a {@link Phaser.Pointer}. This effectively means the Pointer had been * pressed down, and was then released on the Game Object. * It is sent three arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {boolean} isOver - Is the Pointer still over the Game Object? + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {boolean} isOver - Is the Pointer still over the Game Object? + * * @property {Phaser.Signal} onInputUp */ onInputUp: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer starts to drag the Game Object, taking into consideration the various + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} starts to drag the Game Object, taking into consideration the various * drag limitations that may be set. * It is sent four arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {number} The x coordinate that the drag started from. - * {number} The y coordinate that the drag started from. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {number} The x coordinate that the drag started from. + * - {number} The y coordinate that the drag started from. + * * @property {Phaser.Signal} onDragStart */ onDragStart: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer is actively dragging the Game Object. + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} is actively dragging the Game Object. * Be warned: This is a high volume Signal. Be careful what you bind to it. * It is sent six arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {number} The new x coordinate of the Game Object. - * {number} The new y coordinate of the Game Object. - * {Phaser.Point} A Point object that contains the point the Game Object was snapped to, if `snapOnDrag` has been enabled. - * {boolean} The `fromStart` boolean, indicates if this is the first update immediately after the drag has started. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {number} The new x coordinate of the Game Object. + * - {number} The new y coordinate of the Game Object. + * - {Phaser.Point} A Point object that contains the point the Game Object was snapped to, if `snapOnDrag` has been enabled. + * - {boolean} The `fromStart` boolean, indicates if this is the first update immediately after the drag has started. + * * @property {Phaser.Signal} onDragUpdate */ onDragUpdate: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer stops dragging the Game Object. + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} stops dragging the Game Object. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onDragStop */ onDragStop: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, * and an Animation has been played. - * You can also listen to `Animation.onStart` rather than via the Game Objects events. + * You can also listen to {@link Phaser.Animation#onStart} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that was started. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that was started. + * * @property {Phaser.Signal} onAnimationStart */ onAnimationStart: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, - * and an Animation has been stopped (via `animation.stop()` and the `dispatchComplete` argument has been set. - * You can also listen to `Animation.onComplete` rather than via the Game Objects events. + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, + * and an Animation has been stopped (via {@link Phaser.AnimationManager#stop animation.stop()} and the `dispatchComplete` argument has been set. + * You can also listen to {@link Phaser.Animation#onComplete} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that was stopped. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that was stopped. + * * @property {Phaser.Signal} onAnimationComplete */ onAnimationComplete: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, * and an Animation has looped playback. - * You can also listen to `Animation.onLoop` rather than via the Game Objects events. + * You can also listen to {@link Phaser.Animation#onLoop} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that looped. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that looped. + * * @property {Phaser.Signal} onAnimationLoop */ onAnimationLoop: null @@ -32578,7 +32632,7 @@ Phaser.Image.prototype.preUpdate = function() { * @param {number} [x=0] - X position of the Button. * @param {number} [y=0] - Y position of the Button. * @param {string} [key] - The image key (in the Game.Cache) to use as the texture for this Button. -* @param {function} [callback] - The function to call when this Button is pressed. +* @param {function} [callback] - The function to call when this Button is pressed, receiving `this` (the Button), `pointer`, and `isOver` (see {@link Phaser.Events#onInputUp}.) * @param {object} [callbackContext] - The context in which the callback will be called (usually 'this'). * @param {string|integer} [overFrame] - The frame / frameName when the button is in the Over state. * @param {string|integer} [outFrame] - The frame / frameName when the button is in the Out state. @@ -32733,7 +32787,7 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame, * @property {Phaser.PointerMode?} justReleasedPreventsOver=ACTIVE_CURSOR */ this.justReleasedPreventsOver = Phaser.PointerMode.TOUCH; - + /** * When true the the texture frame will not be automatically switched on up/down/over/out events. * @property {boolean} freezeFrames @@ -32770,8 +32824,6 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame, this.events.onInputDown.add(this.onInputDownHandler, this); this.events.onInputUp.add(this.onInputUpHandler, this); - this.events.onRemovedFromWorld.add(this.removedFromWorld, this); - }; Phaser.Button.prototype = Object.create(Phaser.Image.prototype); @@ -32794,18 +32846,6 @@ Phaser.Button.prototype.clearFrames = function () { }; -/** -* Called when this Button is removed from the World. -* -* @method Phaser.Button#removedFromWorld -* @protected -*/ -Phaser.Button.prototype.removedFromWorld = function () { - - this.inputEnabled = false; - -}; - /** * Set the frame name/ID for the given state. * @@ -44333,7 +44373,7 @@ Phaser.Loader.prototype = { * * The texture path object looks like this: * - * ``` + * ```javascript * load.image('factory', { * etc1: 'assets/factory_etc1.pkm', * s3tc: 'assets/factory_dxt1.pvr', @@ -44393,7 +44433,7 @@ Phaser.Loader.prototype = { * * The texture path object looks like this: * - * ``` + * ```javascript * load.texture('factory', { * etc1: 'assets/factory_etc1.pkm', * s3tc: 'assets/factory_dxt1.pvr', @@ -50868,7 +50908,7 @@ Phaser.ArrayUtils = { /** * Create an array representing the inclusive range of numbers (usually integers) in `[start, end]`. - * This is equivalent to `numberArrayStep(start, end, 1)`. + * This is equivalent to `numberArrayStep(start, 1 + end, 1)`. * * @method Phaser.ArrayUtils.numberArray * @param {number} start - The minimum value the array starts with. @@ -52327,7 +52367,7 @@ Phaser.Color = { */ updateColor: function (out) { - out.rgba = 'rgba(' + out.r.toString() + ',' + out.g.toString() + ',' + out.b.toString() + ',' + out.a.toString() + ')'; + out.rgba = 'rgba(' + out.r.toFixed() + ',' + out.g.toFixed() + ',' + out.b.toFixed() + ',' + out.a.toString() + ')'; out.color = Phaser.Color.getColor(out.r, out.g, out.b); out.color32 = Phaser.Color.getColor32(out.a * 255, out.r, out.g, out.b); diff --git a/build/custom/phaser-minimum.map b/build/custom/phaser-minimum.map index f0c394098..16404e257 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","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","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","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","tintedTexture","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","floor","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","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","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","CanvasPool","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","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","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","trunc","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","reverseString","string","split","getProperty","obj","prop","parts","val","setProperty","last","l","current","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","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","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","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","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","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","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_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","CONTACT","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","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","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","pointerLocalCoord","globalToLocal","py","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","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","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","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","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","removedFromWorld","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","getFirst","createElement","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","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","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","skipPool","display","backgroundColor","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","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","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","difference","angleBetween","angleBetweenY","angleBetweenPoints","point1","point2","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","k","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","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","parseFloat","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","fps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","_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","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","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","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","self","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","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","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","exkey","toUpperCase","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","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","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","status","message","send","timeout","ontimeout","onprogress","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","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","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","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","setUserScale","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","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","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","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","unshift","rotateLeft","numberArray","numberArrayStep","LinkedList","prev","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","pixelWidth","pixelHeight","palette","row","draw","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","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","steps","currentStep","src1","src2","red","green","blue","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","Matter","startSystem","system","Box2D","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","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","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","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","tintedTexture","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","floor","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","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","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","CanvasPool","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","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","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","trunc","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","reverseString","string","split","getProperty","obj","prop","parts","val","setProperty","last","l","current","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","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","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","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","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","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","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_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","CONTACT","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","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","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","pointerLocalCoord","globalToLocal","py","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","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","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","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","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","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","getFirst","createElement","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","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","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","skipPool","display","backgroundColor","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","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","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","difference","angleBetween","angleBetweenY","angleBetweenPoints","point1","point2","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","k","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","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","parseFloat","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","fps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","_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","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","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","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","self","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","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","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","exkey","toUpperCase","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","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","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","status","message","send","timeout","ontimeout","onprogress","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","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","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","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","setUserScale","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","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","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","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","unshift","rotateLeft","numberArray","numberArrayStep","LinkedList","prev","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","pixelWidth","pixelHeight","palette","row","draw","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","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","steps","currentStep","src1","src2","red","green","blue","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","Matter","startSystem","system","Box2D","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 ad30da18d..5c25db0aa 100644 --- a/build/custom/phaser-minimum.min.js +++ b/build/custom/phaser-minimum.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.7 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.8 - 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()},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)}},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.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,_=x.a,b=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=_*g+T*y+S,E=w*y+b*g+C,M=_*m+T*y+S,R=w*y+b*m+C,A=_*m+T*v+S,O=w*v+b*m+C,L=_*g+T*v+S,I=w*v+b*g+C;c=P,d=E,l=E,u=L<(u=A<(u=M<(u=P)?M:u)?A:u)?L:u,l=I<(l=O<(l=R(c=A>(c=M>c?M:c)?A:c)?L:c,d=I>(d=O>(d=R>d?R: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=b>(f=x>f?x:f)?b:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=_>m?_: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=(this.currentBatchSize,i.baseTexture.resolution),v=i.baseTexture.textureIndex,y=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,S=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,P=o.b,E=o.c,M=o.d,R=u,A=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,_=C+6.123233995736766e-17*E,b=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=A,c=R}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+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v):(L[m++]=y*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T,L[m++]=b*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,_=t.anchor.y,b=v*(1-x),T=v*-x,w=y*(1-_),S=y*-_,C=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,M=E.a/P,R=E.b/P,A=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+A*S+L,m[C++]=O*S+R*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=M*b+A*S+L,m[C++]=O*S+R*b+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*b+A*w+L,m[C++]=O*w+R*b+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=M*T+A*w+L,m[C++]=O*w+R*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 _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}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(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.7",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.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,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.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)},i.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=0;o2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Component=function(){},i.Component.Angle=function(){},i.Component.Angle.prototype={angle:{get:function(){return i.Math.wrapAngle(i.Math.radToDeg(this.rotation))},set:function(t){this.rotation=i.Math.degToRad(i.Math.wrapAngle(t))}}},i.Component.Animation=function(){},i.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},i.Component.AutoCull=function(){},i.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)}}},i.Component.Bounds=function(){},i.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,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case i.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case i.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case i.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case i.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case i.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case i.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case i.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case i.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case i.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},i.Group.prototype.alignIn=i.Component.Bounds.prototype.alignIn,i.Group.prototype.alignTo=i.Component.Bounds.prototype.alignTo,i.Component.BringToTop=function(){},i.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringToTop(this),this},i.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendToBack(this),this},i.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},i.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},i.Component.Core=function(){},i.Component.Core.skipTypeChecks=!1,i.Component.Core.install=function(t){i.Utils.mixinPrototype(this,i.Component.Core.prototype),this.components={};for(var e=0;ethis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}r&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree;var r=function(){};i.Net=r,i.Net.prototype={isDisabled:!0,getHostName:r,checkDomainName:r,updateQueryString:r,getQueryString:r,decodeURI:r},i.Net.prototype.constructor=i.Net,i.TweenManager=function(){},i.TweenManager.prototype.update=function(){},i.TweenManager.prototype.removeAll=function(){},i.TweenManager.prototype.removeFrom=function(){},i.TweenManager.prototype.constructor=i.TweenManager,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.SoundManager=function(){this.muteOnPause=!1},i.SoundManager.prototype.boot=function(){},i.SoundManager.prototype.update=function(){},i.SoundManager.prototype.destroy=function(){},i.SoundManager.prototype.setMute=function(){},i.SoundManager.prototype.unsetMute=function(){},i.SoundManager.prototype.constructor=i.SoundManager,i.ScaleManager=function(t,e,s){this.game=t,this.dom=i.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 i.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new i.Signal,this.enterIncorrectOrientation=new i.Signal,this.leaveIncorrectOrientation=new i.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new i.Signal,this.onFullScreenChange=new i.Signal,this.onFullScreenError=new i.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new i.Point(1,1),this.scaleFactorInversed=new i.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new i.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=i.ScaleManager.NO_SCALE,this._fullScreenScaleMode=i.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new i.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new i.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new i.Rectangle,this._userScaleFactor=new i.Point(1,1),this._userScaleTrim=new i.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new i.Rectangle,this._tempBounds=new i.Rectangle,this._lastReportedCanvasSize=new i.Rectangle,this._lastReportedGameSize=new i.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(e,s)},i.ScaleManager.EXACT_FIT=0,i.ScaleManager.NO_SCALE=1,i.ScaleManager.SHOW_ALL=2,i.ScaleManager.RESIZE=3,i.ScaleManager.USER_SCALE=4,i.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 i.Point(0,1):t.scrollTo=new i.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var e=this;this._orientationChange=function(t){return e.orientationChange(t)},this._windowResize=function(t){return e.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return e.fullScreenChange(t)},this._fullScreenError=function(t){return e.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),i.FlexGrid&&(this.grid=new i.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)},setupScale:function(t,e){var s,n=new i.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),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 e?o=e:(this.parentScaleFactor.y=parseInt(e,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,e){this._gameSize.setTo(0,0,t,e),this.currentScaleMode!==i.ScaleManager.RESIZE&&this.updateDimensions(t,e,!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(!i.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!i.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,e=this.height;this._lastReportedCanvasSize.setTo(0,0,t,e),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,e),this.onSizeChange.dispatch(this,t,e),this.currentScaleMode===i.ScaleManager.RESIZE&&(this.game.state.resize(t,e),this.game.load.resize(t,e))}},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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var o=function(){};return i.Utils.Debug=o,i.Utils.Debug.prototype={isDisabled:!0,boot:o,preUpdate:o,reset:o,start:o,stop:o,line:o,soundInfo:o,cameraInfo:o,timer:o,pointer:o,spriteInputInfo:o,key:o,inputInfo:o,spriteBounds:o,ropeSegments:o,spriteInfo:o,spriteCoords:o,lineInfo:o,pixel:o,geom:o,rectangle:o,text:o,quadTree:o,body:o,bodyInfo:o,box2dWorld:o,box2dBody:o},i.Utils.Debug.prototype.constructor=i.Utils.Debug,i.DOM={getOffset:function(t,e){e=e||new i.Point;var s=t.getBoundingClientRect(),n=i.DOM.scrollY,r=i.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return e.x=s.left+r-a,e.y=s.top+n-o,e},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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,r,o,a,h){var u={r:t||0,g:e||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 i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,u=(a.green-o.green)*n/s+o.green,l=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,u,l)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.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()},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)}},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.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,_=x.a,b=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=_*g+T*y+S,E=w*y+b*g+C,M=_*m+T*y+S,R=w*y+b*m+C,A=_*m+T*v+S,O=w*v+b*m+C,L=_*g+T*v+S,I=w*v+b*g+C;c=P,d=E,l=E,u=L<(u=A<(u=M<(u=P)?M:u)?A:u)?L:u,l=I<(l=O<(l=R(c=A>(c=M>c?M:c)?A:c)?L:c,d=I>(d=O>(d=R>d?R: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=b>(f=x>f?x:f)?b:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=_>m?_: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=(this.currentBatchSize,i.baseTexture.resolution),v=i.baseTexture.textureIndex,y=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,S=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,P=o.b,E=o.c,M=o.d,R=u,A=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,_=C+6.123233995736766e-17*E,b=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=A,c=R}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+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v):(L[m++]=y*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T,L[m++]=b*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,_=t.anchor.y,b=v*(1-x),T=v*-x,w=y*(1-_),S=y*-_,C=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,M=E.a/P,R=E.b/P,A=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+A*S+L,m[C++]=O*S+R*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=M*b+A*S+L,m[C++]=O*S+R*b+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*b+A*w+L,m[C++]=O*w+R*b+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=M*T+A*w+L,m[C++]=O*w+R*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 _=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(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.8",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.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,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.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)},i.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=0;o2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Component=function(){},i.Component.Angle=function(){},i.Component.Angle.prototype={angle:{get:function(){return i.Math.wrapAngle(i.Math.radToDeg(this.rotation))},set:function(t){this.rotation=i.Math.degToRad(i.Math.wrapAngle(t))}}},i.Component.Animation=function(){},i.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},i.Component.AutoCull=function(){},i.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)}}},i.Component.Bounds=function(){},i.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,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case i.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case i.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case i.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case i.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case i.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case i.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case i.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case i.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case i.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},i.Group.prototype.alignIn=i.Component.Bounds.prototype.alignIn,i.Group.prototype.alignTo=i.Component.Bounds.prototype.alignTo,i.Component.BringToTop=function(){},i.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringToTop(this),this},i.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendToBack(this),this},i.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},i.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},i.Component.Core=function(){},i.Component.Core.skipTypeChecks=!1,i.Component.Core.install=function(t){i.Utils.mixinPrototype(this,i.Component.Core.prototype),this.components={};for(var e=0;ethis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}r&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree;var r=function(){};i.Net=r,i.Net.prototype={isDisabled:!0,getHostName:r,checkDomainName:r,updateQueryString:r,getQueryString:r,decodeURI:r},i.Net.prototype.constructor=i.Net,i.TweenManager=function(){},i.TweenManager.prototype.update=function(){},i.TweenManager.prototype.removeAll=function(){},i.TweenManager.prototype.removeFrom=function(){},i.TweenManager.prototype.constructor=i.TweenManager,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.SoundManager=function(){this.muteOnPause=!1},i.SoundManager.prototype.boot=function(){},i.SoundManager.prototype.update=function(){},i.SoundManager.prototype.destroy=function(){},i.SoundManager.prototype.setMute=function(){},i.SoundManager.prototype.unsetMute=function(){},i.SoundManager.prototype.constructor=i.SoundManager,i.ScaleManager=function(t,e,s){this.game=t,this.dom=i.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 i.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new i.Signal,this.enterIncorrectOrientation=new i.Signal,this.leaveIncorrectOrientation=new i.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new i.Signal,this.onFullScreenChange=new i.Signal,this.onFullScreenError=new i.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new i.Point(1,1),this.scaleFactorInversed=new i.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new i.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=i.ScaleManager.NO_SCALE,this._fullScreenScaleMode=i.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new i.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new i.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new i.Rectangle,this._userScaleFactor=new i.Point(1,1),this._userScaleTrim=new i.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new i.Rectangle,this._tempBounds=new i.Rectangle,this._lastReportedCanvasSize=new i.Rectangle,this._lastReportedGameSize=new i.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(e,s)},i.ScaleManager.EXACT_FIT=0,i.ScaleManager.NO_SCALE=1,i.ScaleManager.SHOW_ALL=2,i.ScaleManager.RESIZE=3,i.ScaleManager.USER_SCALE=4,i.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 i.Point(0,1):t.scrollTo=new i.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var e=this;this._orientationChange=function(t){return e.orientationChange(t)},this._windowResize=function(t){return e.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return e.fullScreenChange(t)},this._fullScreenError=function(t){return e.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),i.FlexGrid&&(this.grid=new i.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)},setupScale:function(t,e){var s,n=new i.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),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 e?o=e:(this.parentScaleFactor.y=parseInt(e,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,e){this._gameSize.setTo(0,0,t,e),this.currentScaleMode!==i.ScaleManager.RESIZE&&this.updateDimensions(t,e,!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(!i.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!i.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,e=this.height;this._lastReportedCanvasSize.setTo(0,0,t,e),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,e),this.onSizeChange.dispatch(this,t,e),this.currentScaleMode===i.ScaleManager.RESIZE&&(this.game.state.resize(t,e),this.game.load.resize(t,e))}},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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var o=function(){};return i.Utils.Debug=o,i.Utils.Debug.prototype={isDisabled:!0,boot:o,preUpdate:o,reset:o,start:o,stop:o,line:o,soundInfo:o,cameraInfo:o,timer:o,pointer:o,spriteInputInfo:o,key:o,inputInfo:o,spriteBounds:o,ropeSegments:o,spriteInfo:o,spriteCoords:o,lineInfo:o,pixel:o,geom:o,rectangle:o,text:o,quadTree:o,body:o,bodyInfo:o,box2dWorld:o,box2dBody:o},i.Utils.Debug.prototype.constructor=i.Utils.Debug,i.DOM={getOffset:function(t,e){e=e||new i.Point;var s=t.getBoundingClientRect(),n=i.DOM.scrollY,r=i.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return e.x=s.left+r-a,e.y=s.top+n-o,e},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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,r,o,a,h){var u={r:t||0,g:e||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 i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,u=(a.green-o.green)*n/s+o.green,l=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,u,l)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.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 c2999b414..54735872b 100644 --- a/build/custom/phaser-no-physics.js +++ b/build/custom/phaser-no-physics.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:28 +* v2.8.8 "2017-09-25" - Built: Mon Sep 25 2017 13:18:56 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -3522,7 +3522,6 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.game = this.game; this.renderSession.gl = this.gl; this.renderSession.drawCount = 0; - this.renderSession.flushCount = 0; this.renderSession.shaderManager = this.shaderManager; this.renderSession.maskManager = this.maskManager; this.renderSession.filterManager = this.filterManager; @@ -3531,6 +3530,7 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.stencilManager = this.stencilManager; this.renderSession.renderer = this; this.renderSession.resolution = this.resolution; + this.renderSession.roundPixels = false; this.renderSession.maxTextureAvailableSpace = null; // filled in setTexturePriority() // time init the context.. @@ -3737,7 +3737,6 @@ PIXI.WebGLRenderer.prototype.renderDisplayObject = function(displayObject, proje // reset the render session data.. this.renderSession.drawCount = 0; - this.renderSession.flushCount = 0; // make sure to flip the Y if using a render texture.. this.renderSession.flipY = buffer ? -1 : 1; @@ -5280,7 +5279,6 @@ PIXI.WebGLSpriteBatch.prototype.flush = function () { // then reset the batch! this.currentBatchSize = 0; - this.renderSession.flushCount++; }; /** @@ -5742,7 +5740,6 @@ PIXI.WebGLFastSpriteBatch.prototype.flush = function() // increment the draw count this.renderSession.drawCount++; - this.renderSession.flushCount++; }; @@ -7597,7 +7594,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.8.7', + VERSION: '2.8.8', /** * An array of Phaser game instances. @@ -8062,15 +8059,15 @@ var Phaser = Phaser || { // jshint ignore:line BOTTOM_RIGHT: 12, /** - * Various blend modes supported by Pixi. + * Various blend modes supported by Pixi. See the samples in {@link https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing Canvas Tutorial: Compositing}. * * IMPORTANT: The WebGL renderer only supports the NORMAL, ADD, MULTIPLY and SCREEN blend modes. * * @constant {Object} Phaser.blendModes - * @property {Number} blendModes.NORMAL - * @property {Number} blendModes.ADD - * @property {Number} blendModes.MULTIPLY - * @property {Number} blendModes.SCREEN + * @property {Number} blendModes.NORMAL - Draws new shapes on top of the existing content. This is the default setting. + * @property {Number} blendModes.ADD - Where both shapes overlap the color is determined by adding color values. + * @property {Number} blendModes.MULTIPLY - The pixels of the top layer are multiplied with the corresponding pixel of the bottom layer, making a darker picture. + * @property {Number} blendModes.SCREEN - The pixels are inverted, multiplied, and inverted again, making a lighter picture. * @property {Number} blendModes.OVERLAY * @property {Number} blendModes.DARKEN * @property {Number} blendModes.LIGHTEN @@ -14237,7 +14234,7 @@ Object.defineProperty(Phaser.Camera.prototype, "shakeIntensity", { * | | preload | create | paused | | * | | loadUpdate* | update* | pauseUpdate* | | * | | | preRender* | | | -* | | loadRender* | render* | pauseRender* | | +* | | loadRender* | render* | render* | | * | | | | resumed | | * | | | | | shutdown | * @@ -15991,7 +15988,7 @@ Phaser.SignalBinding.prototype.constructor = Phaser.SignalBinding; * * The default uniforms, types and values for all Filters are: * -* ``` +* ```javascript * resolution: { type: '2f', value: { x: 256, y: 256 }} * time: { type: '1f', value: 0 } * mouse: { type: '2f', value: { x: 0.0, y: 0.0 } } @@ -16105,7 +16102,7 @@ Phaser.Filter.prototype = { /** * This should be over-ridden. Will receive a variable number of arguments. - * + * * @method Phaser.Filter#init */ init: function () { @@ -16116,7 +16113,7 @@ Phaser.Filter.prototype = { /** * Set the resolution uniforms on the filter. - * + * * @method Phaser.Filter#setResolution * @param {number} width - The width of the display. * @param {number} height - The height of the display. @@ -16130,7 +16127,7 @@ Phaser.Filter.prototype = { /** * Updates the filter. - * + * * @method Phaser.Filter#update * @param {Phaser.Pointer} [pointer] - A Pointer object to use for the filter. The coordinates are mapped to the mouse uniform. */ @@ -16154,7 +16151,7 @@ Phaser.Filter.prototype = { }, /** - * Creates a new Phaser.Image object using a blank texture and assigns + * Creates a new Phaser.Image object using a blank texture and assigns * this Filter to it. The image is then added to the world. * * If you don't provide width and height values then Filter.width and Filter.height are used. @@ -16209,7 +16206,7 @@ Phaser.Filter.prototype = { /** * Syncs the uniforms between the class object and the shaders. - * + * * @method Phaser.Filter#syncUniforms */ syncUniforms: function () { @@ -16223,7 +16220,7 @@ Phaser.Filter.prototype = { /** * Clear down this Filter and null out references to game. - * + * * @method Phaser.Filter#destroy */ destroy: function () { @@ -16291,6 +16288,18 @@ Object.defineProperty(Phaser.Filter.prototype, 'height', { /** * This is a base Plugin template to use for any Phaser plugin development. * +* ##### Callbacks +* +* add | active | visible | remove +* -----|-------------|-------------|-------- +* init | | | +* | preUpdate* | | +* | update* | render* | +* | postUpdate* | postRender* | +* | | | destroy +* +* Update and render calls are repeated (*). +* * @class Phaser.Plugin * @constructor * @param {Phaser.Game} game - A reference to the currently running game. @@ -16965,7 +16974,7 @@ Phaser.Stage.prototype.checkVisibility = function () { }; this._onClick = function (event) { - if (!document.hasFocus()) + if ((document.hasFocus !== undefined) && !document.hasFocus()) { _this.visibilityChange(event); } @@ -22284,25 +22293,44 @@ Phaser.Input = function (game) { this.resetLocked = false; /** - * A Signal that is dispatched each time a pointer is pressed down. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is pressed down. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {Event} The original DOM event. + * * @property {Phaser.Signal} onDown */ this.onDown = null; /** - * A Signal that is dispatched each time a pointer is released. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is released. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {Event} The original DOM event. + * * @property {Phaser.Signal} onUp */ this.onUp = null; /** - * A Signal that is dispatched each time a pointer is tapped. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is tapped. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {boolean} True if this was a double tap. + * * @property {Phaser.Signal} onTap */ this.onTap = null; /** - * A Signal that is dispatched each time a pointer is held down. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is held down. + * It is sent one argument: + * + * - {Phaser.Pointer} The pointer that caused the event. + * * @property {Phaser.Signal} onHold */ this.onHold = null; @@ -32164,21 +32192,21 @@ Phaser.Component.Destroy.prototype = { /** * The Events component is a collection of events fired by the parent Game Object. -* +* * Phaser uses what are known as 'Signals' for all event handling. All of the events in * this class are signals you can subscribe to, much in the same way you'd "listen" for * an event. * * For example to tell when a Sprite has been added to a new group, you can bind a function -* to the `onAddedToGroup` signal: +* to the {@link #onAddedToGroup} signal: * * `sprite.events.onAddedToGroup.add(yourFunction, this);` * * Where `yourFunction` is the function you want called when this event occurs. -* -* For more details about how signals work please see the Phaser.Signal class. * -* The Input-related events will only be dispatched if the Sprite has had `inputEnabled` set to `true` +* For more details about how signals work please see the {@link Phaser.Signal} class. +* +* The Input-related events will only be dispatched if the Sprite has had {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true` * and the Animation-related events only apply to game objects with animations like {@link Phaser.Sprite}. * * @class Phaser.Events @@ -32210,7 +32238,6 @@ Phaser.Events.prototype = { if (this._onDestroy) { this._onDestroy.dispose(); } if (this._onAddedToGroup) { this._onAddedToGroup.dispose(); } if (this._onRemovedFromGroup) { this._onRemovedFromGroup.dispose(); } - if (this._onRemovedFromWorld) { this._onRemovedFromWorld.dispose(); } if (this._onKilled) { this._onKilled.dispose(); } if (this._onRevived) { this._onRevived.dispose(); } if (this._onEnterBounds) { this._onEnterBounds.dispose(); } @@ -32233,186 +32260,213 @@ Phaser.Events.prototype = { // The following properties are sentinels that will be replaced with getters /** - * This signal is dispatched when this Game Object is added to a new Group. + * This signal is dispatched when this Game Object is added to a new {@link Phaser.Group Group}. * It is sent two arguments: - * {any} The Game Object that was added to the Group. - * {Phaser.Group} The Group it was added to. + * + * - {any} The Game Object that was added to the Group. + * - {Phaser.Group} The Group it was added to. + * * @property {Phaser.Signal} onAddedToGroup */ onAddedToGroup: null, /** - * This signal is dispatched when the Game Object is removed from a Group. + * This signal is dispatched when the Game Object is removed from a {@link Phaser.Group Group}. * It is sent two arguments: - * {any} The Game Object that was removed from the Group. - * {Phaser.Group} The Group it was removed from. + * + * - {any} The Game Object that was removed from the Group. + * - {Phaser.Group} The Group it was removed from. + * * @property {Phaser.Signal} onRemovedFromGroup */ onRemovedFromGroup: null, - /** - * This Signal is never used internally by Phaser and is now deprecated. - * @deprecated - * @property {Phaser.Signal} onRemovedFromWorld - */ - onRemovedFromWorld: null, - /** * This signal is dispatched when the Game Object is destroyed. - * This happens when `Sprite.destroy()` is called, or `Group.destroy()` with `destroyChildren` set to true. + * This happens when {@link Phaser.Sprite#destroy Sprite.destroy()} is called, or {@link Phaser.Group#destroy Group.destroy()} with `destroyChildren` set to true. * It is sent one argument: - * {any} The Game Object that was destroyed. + * + * - {any} The Game Object that was destroyed. + * * @property {Phaser.Signal} onDestroy */ onDestroy: null, /** * This signal is dispatched when the Game Object is killed. - * This happens when `Sprite.kill()` is called. - * Please understand the difference between `kill` and `destroy` by looking at their respective methods. + * This happens when {@link Phaser.Sprite#kill Sprite.kill()} is called. + * Please understand the difference between {@link Phaser.Sprite#kill kill} and {@link Phaser.Sprite#destroy destroy} by looking at their respective methods. * It is sent one argument: - * {any} The Game Object that was killed. + * + * - {any} The Game Object that was killed. + * * @property {Phaser.Signal} onKilled */ onKilled: null, /** * This signal is dispatched when the Game Object is revived from a previously killed state. - * This happens when `Sprite.revive()` is called. + * This happens when {@link Phaser.Sprite#revive Sprite.revive()} is called. * It is sent one argument: - * {any} The Game Object that was revived. + * + * - {any} The Game Object that was revived. + * * @property {Phaser.Signal} onRevived */ onRevived: null, /** - * This signal is dispatched when the Game Object leaves the Phaser.World bounds. - * This signal is only if `Sprite.checkWorldBounds` is set to `true`. + * This signal is dispatched when the Game Object leaves the Phaser.World {@link Phaser.World#bounds bounds}. + * This signal is only if {@link Phaser.Sprite#checkWorldBounds Sprite.checkWorldBounds} is set to `true`. * It is sent one argument: - * {any} The Game Object that left the World bounds. + * + * - {any} The Game Object that left the World bounds. + * * @property {Phaser.Signal} onOutOfBounds */ onOutOfBounds: null, /** - * This signal is dispatched when the Game Object returns within the Phaser.World bounds, having previously been outside of them. - * This signal is only if `Sprite.checkWorldBounds` is set to `true`. + * This signal is dispatched when the Game Object returns within the Phaser.World {@link Phaser.World#bounds bounds}, having previously been outside of them. + * This signal is only if {@link Phaser.Sprite#checkWorldBounds Sprite.checkWorldBounds} is set to `true`. * It is sent one argument: - * {any} The Game Object that entered the World bounds. + * + * - {any} The Game Object that entered the World bounds. + * * @property {Phaser.Signal} onEnterBounds */ onEnterBounds: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an over event from a Phaser.Pointer. + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an over event from a {@link Phaser.Pointer}. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputOver */ onInputOver: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an out event from a Phaser.Pointer, which was previously over it. + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an out event from a {@link Phaser.Pointer}, which was previously over it. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputOut */ onInputOut: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives a down event from a Phaser.Pointer. This effectively means the Pointer has been + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives a down event from a {@link Phaser.Pointer}. This effectively means the Pointer has been * pressed down (but not yet released) on the Game Object. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputDown */ onInputDown: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an up event from a Phaser.Pointer. This effectively means the Pointer had been + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an up event from a {@link Phaser.Pointer}. This effectively means the Pointer had been * pressed down, and was then released on the Game Object. * It is sent three arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {boolean} isOver - Is the Pointer still over the Game Object? + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {boolean} isOver - Is the Pointer still over the Game Object? + * * @property {Phaser.Signal} onInputUp */ onInputUp: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer starts to drag the Game Object, taking into consideration the various + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} starts to drag the Game Object, taking into consideration the various * drag limitations that may be set. * It is sent four arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {number} The x coordinate that the drag started from. - * {number} The y coordinate that the drag started from. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {number} The x coordinate that the drag started from. + * - {number} The y coordinate that the drag started from. + * * @property {Phaser.Signal} onDragStart */ onDragStart: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer is actively dragging the Game Object. + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} is actively dragging the Game Object. * Be warned: This is a high volume Signal. Be careful what you bind to it. * It is sent six arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {number} The new x coordinate of the Game Object. - * {number} The new y coordinate of the Game Object. - * {Phaser.Point} A Point object that contains the point the Game Object was snapped to, if `snapOnDrag` has been enabled. - * {boolean} The `fromStart` boolean, indicates if this is the first update immediately after the drag has started. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {number} The new x coordinate of the Game Object. + * - {number} The new y coordinate of the Game Object. + * - {Phaser.Point} A Point object that contains the point the Game Object was snapped to, if `snapOnDrag` has been enabled. + * - {boolean} The `fromStart` boolean, indicates if this is the first update immediately after the drag has started. + * * @property {Phaser.Signal} onDragUpdate */ onDragUpdate: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer stops dragging the Game Object. + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} stops dragging the Game Object. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onDragStop */ onDragStop: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, * and an Animation has been played. - * You can also listen to `Animation.onStart` rather than via the Game Objects events. + * You can also listen to {@link Phaser.Animation#onStart} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that was started. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that was started. + * * @property {Phaser.Signal} onAnimationStart */ onAnimationStart: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, - * and an Animation has been stopped (via `animation.stop()` and the `dispatchComplete` argument has been set. - * You can also listen to `Animation.onComplete` rather than via the Game Objects events. + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, + * and an Animation has been stopped (via {@link Phaser.AnimationManager#stop animation.stop()} and the `dispatchComplete` argument has been set. + * You can also listen to {@link Phaser.Animation#onComplete} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that was stopped. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that was stopped. + * * @property {Phaser.Signal} onAnimationComplete */ onAnimationComplete: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, * and an Animation has looped playback. - * You can also listen to `Animation.onLoop` rather than via the Game Objects events. + * You can also listen to {@link Phaser.Animation#onLoop} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that looped. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that looped. + * * @property {Phaser.Signal} onAnimationLoop */ onAnimationLoop: null @@ -35068,7 +35122,7 @@ Phaser.Image.prototype.preUpdate = function() { * @param {number} [x=0] - X position of the Button. * @param {number} [y=0] - Y position of the Button. * @param {string} [key] - The image key (in the Game.Cache) to use as the texture for this Button. -* @param {function} [callback] - The function to call when this Button is pressed. +* @param {function} [callback] - The function to call when this Button is pressed, receiving `this` (the Button), `pointer`, and `isOver` (see {@link Phaser.Events#onInputUp}.) * @param {object} [callbackContext] - The context in which the callback will be called (usually 'this'). * @param {string|integer} [overFrame] - The frame / frameName when the button is in the Over state. * @param {string|integer} [outFrame] - The frame / frameName when the button is in the Out state. @@ -35223,7 +35277,7 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame, * @property {Phaser.PointerMode?} justReleasedPreventsOver=ACTIVE_CURSOR */ this.justReleasedPreventsOver = Phaser.PointerMode.TOUCH; - + /** * When true the the texture frame will not be automatically switched on up/down/over/out events. * @property {boolean} freezeFrames @@ -35260,8 +35314,6 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame, this.events.onInputDown.add(this.onInputDownHandler, this); this.events.onInputUp.add(this.onInputUpHandler, this); - this.events.onRemovedFromWorld.add(this.removedFromWorld, this); - }; Phaser.Button.prototype = Object.create(Phaser.Image.prototype); @@ -35284,18 +35336,6 @@ Phaser.Button.prototype.clearFrames = function () { }; -/** -* Called when this Button is removed from the World. -* -* @method Phaser.Button#removedFromWorld -* @protected -*/ -Phaser.Button.prototype.removedFromWorld = function () { - - this.inputEnabled = false; - -}; - /** * Set the frame name/ID for the given state. * @@ -36342,28 +36382,34 @@ Phaser.BitmapData.prototype = { }, /** - * Creates a new Image element by converting this BitmapDatas canvas into a dataURL. + * Creates a new {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image Image} element by converting this BitmapDatas canvas into a dataURL. * - * The image is then stored in the image Cache using the key given. + * The image is then stored in the {@link Phaser.Cache image Cache} using the key given. * - * Finally a PIXI.Texture is created based on the image and returned. + * Finally a {@link 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: + * key or the texture. First call `generateTexture`: * - * `var texture = bitmapdata.generateTexture('ball');` + * ```javascript + * var texture = bitmapdata.generateTexture('ball'); + * ``` * * Then you can either apply the texture to a sprite: * - * `game.add.sprite(0, 0, texture);` + * ```javascript + * game.add.sprite(0, 0, texture); + * ``` * * or by using the string based key: * - * `game.add.sprite(0, 0, 'ball');` + * ```javascript + * game.add.sprite(0, 0, 'ball'); + * ``` * * Most browsers now load the image data asynchronously, so you should use a callback: * - * ``` + * ```javascript * bitmapdata.generateTexture('ball', function (texture) { * game.add.sprite(0, 0, texture); * // or @@ -40299,7 +40345,7 @@ Phaser.GraphicsData.prototype.clone = function () { * Circles and Polygons. They also include lines, arcs and curves. When you initially create a Graphics object it will * be empty. To 'draw' to it you first specify a lineStyle or fillStyle (or both), and then draw a shape. For example: * -* ``` +* ```javascript * graphics.beginFill(0xff0000); * graphics.drawCircle(50, 50, 100); * graphics.endFill(); @@ -61081,7 +61127,7 @@ Phaser.Loader.prototype = { * * The texture path object looks like this: * - * ``` + * ```javascript * load.image('factory', { * etc1: 'assets/factory_etc1.pkm', * s3tc: 'assets/factory_dxt1.pvr', @@ -61141,7 +61187,7 @@ Phaser.Loader.prototype = { * * The texture path object looks like this: * - * ``` + * ```javascript * load.texture('factory', { * etc1: 'assets/factory_etc1.pkm', * s3tc: 'assets/factory_dxt1.pvr', @@ -69764,25 +69810,27 @@ Phaser.Utils.Debug.prototype = { this.line('clearBeforeRender: ' + r.clearBeforeRender); this.line('resolution: ' + r.resolution); this.line('transparent: ' + r.transparent); + this.line('renderSession:'); if (r.gl) { - this.line('drawCount: ' + s.drawCount); - this.line('flushCount: ' + s.flushCount); - this.line('maxTextures: ' + r.maxTextures); - this.line('maxTextureSize: ' + r.maxTextureSize); - this.line('maxTextureAvailableSpace: ' + s.maxTextureAvailableSpace); - this.line('currentBatchedTextures: ('+ r.currentBatchedTextures.length + ')'); + this.line(' currentBatchedTextures: ('+ r.currentBatchedTextures.length + ')'); for (var i = 0; i < r.currentBatchedTextures.length; i++) { - this.line(' ' + r.currentBatchedTextures[i]); + this.line(' ' + r.currentBatchedTextures[i]); } + + this.line(' drawCount: ' + s.drawCount); + this.line(' maxTextures: ' + r.maxTextures); + this.line(' maxTextureSize: ' + r.maxTextureSize); + this.line(' maxTextureAvailableSpace: ' + s.maxTextureAvailableSpace); + this.line(' roundPixels: ' + s.roundPixels); } else { - this.line('roundPixels: ' + s.roundPixels); - this.line('scaleMode: ' + (s.scaleMode === 0 ? 'LINEAR' : (s.scaleMode === 1 ? 'NEAREST' : s.scaleMode))); + this.line(' roundPixels: ' + s.roundPixels); + this.line(' scaleMode: ' + (s.scaleMode === 0 ? 'LINEAR' : (s.scaleMode === 1 ? 'NEAREST' : s.scaleMode))); } this.stop(); @@ -70782,7 +70830,7 @@ Phaser.ArrayUtils = { /** * Create an array representing the inclusive range of numbers (usually integers) in `[start, end]`. - * This is equivalent to `numberArrayStep(start, end, 1)`. + * This is equivalent to `numberArrayStep(start, 1 + end, 1)`. * * @method Phaser.ArrayUtils.numberArray * @param {number} start - The minimum value the array starts with. @@ -72241,7 +72289,7 @@ Phaser.Color = { */ updateColor: function (out) { - out.rgba = 'rgba(' + out.r.toString() + ',' + out.g.toString() + ',' + out.b.toString() + ',' + out.a.toString() + ')'; + out.rgba = 'rgba(' + out.r.toFixed() + ',' + out.g.toFixed() + ',' + out.b.toFixed() + ',' + out.a.toString() + ')'; out.color = Phaser.Color.getColor(out.r, out.g, out.b); out.color32 = Phaser.Color.getColor32(out.a * 255, out.r, out.g, out.b); diff --git a/build/custom/phaser-no-physics.map b/build/custom/phaser-no-physics.map index 38068bf65..131d85bd5 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","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","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","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","tintedTexture","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","floor","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","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","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","CanvasPool","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","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","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","trunc","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","reverseString","string","split","getProperty","obj","prop","parts","val","setProperty","last","l","current","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","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","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","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","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","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","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_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","CONTACT","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","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","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","pointerLocalCoord","globalToLocal","py","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","_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","k","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","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","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","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","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","removedFromWorld","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","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","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","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","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","delta","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","getFirst","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","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","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","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","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","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","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","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","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","self","_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","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","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","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","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","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","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","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","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","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","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","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","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","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","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","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","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","steps","currentStep","src1","src2","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","onError","onTimeout","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","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","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","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","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","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","tintedTexture","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","floor","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","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","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","CanvasPool","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","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","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","trunc","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","reverseString","string","split","getProperty","obj","prop","parts","val","setProperty","last","l","current","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","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","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","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","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","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","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_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","CONTACT","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","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","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","pointerLocalCoord","globalToLocal","py","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","_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","k","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","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","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","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","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","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","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","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","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","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","delta","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","getFirst","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","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","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","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","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","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","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","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","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","self","_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","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","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","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","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","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","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","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","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","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","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","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","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","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","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","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","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","steps","currentStep","src1","src2","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","onError","onTimeout","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","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","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 49def52e6..318c77b71 100644 --- a/build/custom/phaser-no-physics.min.js +++ b/build/custom/phaser-no-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.7 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.8 - 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()},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)}},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.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,I=w*y+b*m+S,L=_*g+T*y+C,O=w*y+b*g+S;c=P,d=E,l=E,u=L<(u=M<(u=A<(u=P)?A:u)?M:u)?L:u,l=O<(l=I<(l=R(c=M>(c=A>c?A:c)?M:c)?L:c,d=O>(d=I>(d=R>d?R:d)?I:d)?O: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 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=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,C=(i.crop.width,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,L=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=v*u+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=y):(L[m++]=v*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T,L[m++]=b*l+x*u+w,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=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),m=this.positions,g=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,L=E.tx,O=E.ty;m[S++]=A*T+M*C+L,m[S++]=I*C+R*T+O,m[S++]=o.x0,m[S++]=o.y0,g[S++]=f,m[S++]=r,m[S++]=A*b+M*C+L,m[S++]=I*C+R*b+O,m[S++]=o.x1,m[S++]=o.y1,g[S++]=f,m[S++]=r,m[S++]=A*b+M*w+L,m[S++]=I*w+R*b+O,m[S++]=o.x2,m[S++]=o.y2,g[S++]=f,m[S++]=r,m[S++]=A*T+M*w+L,m[S++]=I*w+R*T+O,m[S++]=o.x3,m[S++]=o.y3,g[S++]=f,m[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,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!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 _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}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(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.7",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.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,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.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)},i.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=0;o2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.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 e=!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}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}r&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*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,e,s){s||(s=i.Color.createColor());var n=~~(t+e*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,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),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 e=i.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{i.Color.unpackPixel(this.getPixel32(s,n),e),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===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.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,e,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 i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.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 i.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 i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),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)){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+e,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,e,s){if(void 0===e&&(e=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 i.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,e&&(this.op=e),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,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.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,e.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),i.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 i.EarCut.earcutLinked(o,a,s,h,u,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,u=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(u.i/s),i.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.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=i.EarCut.zOrder(h,u,e,s,n),p=i.EarCut.zOrder(l,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.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&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var u=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),u=i.EarCut.filterPoints(u,u.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(u,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,u,l=[];for(r=0,o=e.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&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.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},i.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},i.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},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.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},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.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)},i.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,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.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===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.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*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-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),L.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,e.beginPath(),e.moveTo(b,T+S),e.lineTo(b,T+C-S),e.quadraticCurveTo(b,T+C,b+S,T+C),e.lineTo(b+w-S,T+C),e.quadraticCurveTo(b+w,T+C,b+w,T+C-S),e.lineTo(b+w,T+S),e.quadraticCurveTo(b+w,T,b+w-S,T),e.lineTo(b+S,T),e.quadraticCurveTo(b,T,b,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,_+w),e.lineTo(x,_+T-w),e.quadraticCurveTo(x,_+T,x+w,_+T),e.lineTo(x+b-w,_+T),e.quadraticCurveTo(x+b,_+T,x+b,_+T-w),e.lineTo(x+b,_+w),e.quadraticCurveTo(x+b,_,x+b-w,_),e.lineTo(x+w,_),e.quadraticCurveTo(x,_,x,_+w),e.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}},i.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},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.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},i.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},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=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},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+u:e,s=hn?h+l:n;else if(p===i.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.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},i.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()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.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}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.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=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.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===i.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 i.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 i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.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},i.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)},i.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++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.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)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.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,"")},i.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},i.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()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,u,l=n.getImageData(0,0,r,a).data,c=l.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(u=0;u0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:c,chars:u};n+=(p.xAdvance+m)*e,u.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:c,chars:u}},i.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(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).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(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.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)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=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===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.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},i.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},i.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},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.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(i.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(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.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=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.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,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){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,I=m*x*c+v*l*y+u*g*_-u*x*y-v*g*c-m*l*_,L=d*x+v*f+p*_-x*f-v*p-d*_,O=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,L/A,M/A,O/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,u=y>u?y:u}if(l===-1/0||u===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=l,v.width=h-l,v.y=c,v.height=u-c,this._currentBounds=v,v},Object.defineProperty(i.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(i.Rope.prototype,"segments",{get:function(){for(var t,e,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(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.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," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.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){return this._tweens.some(function(e){return e.target===t})},_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)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.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},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=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],10)),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 i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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():i.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,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.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){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(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-i.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*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.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])},i.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]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,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=e,this.key=e,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.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._removeFromSoundManager=!1,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*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.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},i.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._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),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(){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)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===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._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,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.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),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.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!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._sound&&(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&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(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,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.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(i.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))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=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 i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,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);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;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),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.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=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,r,o,a,h){var u={r:t||0,g:e||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 i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,u=(a.green-o.green)*n/s+o.green,l=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,u,l)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,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,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);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(i.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 i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.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"),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: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.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.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.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),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,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!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.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.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(i.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(i.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(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.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(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.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()},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)}},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.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,I=w*y+b*m+S,L=_*g+T*y+C,O=w*y+b*g+S;c=P,d=E,l=E,u=L<(u=M<(u=A<(u=P)?A:u)?M:u)?L:u,l=O<(l=I<(l=R(c=M>(c=A>c?A:c)?M:c)?L:c,d=O>(d=I>(d=R>d?R:d)?I:d)?O: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 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=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,C=(i.crop.width,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,L=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=v*u+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=y):(L[m++]=v*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T,L[m++]=b*l+x*u+w,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=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),m=this.positions,g=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,L=E.tx,O=E.ty;m[S++]=A*T+M*C+L,m[S++]=I*C+R*T+O,m[S++]=o.x0,m[S++]=o.y0,g[S++]=f,m[S++]=r,m[S++]=A*b+M*C+L,m[S++]=I*C+R*b+O,m[S++]=o.x1,m[S++]=o.y1,g[S++]=f,m[S++]=r,m[S++]=A*b+M*w+L,m[S++]=I*w+R*b+O,m[S++]=o.x2,m[S++]=o.y2,g[S++]=f,m[S++]=r,m[S++]=A*T+M*w+L,m[S++]=I*w+R*T+O,m[S++]=o.x3,m[S++]=o.y3,g[S++]=f,m[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,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!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 _=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(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.8",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.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,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.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)},i.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=0;o2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.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 e=!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}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}r&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*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,e,s){s||(s=i.Color.createColor());var n=~~(t+e*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,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),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 e=i.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{i.Color.unpackPixel(this.getPixel32(s,n),e),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===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.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,e,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 i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.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 i.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 i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),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)){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+e,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,e,s){if(void 0===e&&(e=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 i.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,e&&(this.op=e),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,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.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,e.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),i.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 i.EarCut.earcutLinked(o,a,s,h,u,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,u=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(u.i/s),i.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.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=i.EarCut.zOrder(h,u,e,s,n),p=i.EarCut.zOrder(l,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.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&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var u=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),u=i.EarCut.filterPoints(u,u.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(u,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,u,l=[];for(r=0,o=e.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&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.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},i.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},i.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},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.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},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.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)},i.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,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.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===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.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*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-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),L.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,e.beginPath(),e.moveTo(b,T+S),e.lineTo(b,T+C-S),e.quadraticCurveTo(b,T+C,b+S,T+C),e.lineTo(b+w-S,T+C),e.quadraticCurveTo(b+w,T+C,b+w,T+C-S),e.lineTo(b+w,T+S),e.quadraticCurveTo(b+w,T,b+w-S,T),e.lineTo(b+S,T),e.quadraticCurveTo(b,T,b,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,_+w),e.lineTo(x,_+T-w),e.quadraticCurveTo(x,_+T,x+w,_+T),e.lineTo(x+b-w,_+T),e.quadraticCurveTo(x+b,_+T,x+b,_+T-w),e.lineTo(x+b,_+w),e.quadraticCurveTo(x+b,_,x+b-w,_),e.lineTo(x+w,_),e.quadraticCurveTo(x,_,x,_+w),e.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}},i.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},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.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},i.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},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=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},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+u:e,s=hn?h+l:n;else if(p===i.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.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},i.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()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.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}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.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=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.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===i.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 i.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 i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.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},i.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)},i.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++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.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)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.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,"")},i.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},i.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()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,u,l=n.getImageData(0,0,r,a).data,c=l.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(u=0;u0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:c,chars:u};n+=(p.xAdvance+m)*e,u.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:c,chars:u}},i.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(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).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(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.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)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=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===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.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},i.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},i.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},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.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(i.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(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.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=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.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,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){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,I=m*x*c+v*l*y+u*g*_-u*x*y-v*g*c-m*l*_,L=d*x+v*f+p*_-x*f-v*p-d*_,O=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,L/A,M/A,O/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,u=y>u?y:u}if(l===-1/0||u===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=l,v.width=h-l,v.y=c,v.height=u-c,this._currentBounds=v,v},Object.defineProperty(i.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(i.Rope.prototype,"segments",{get:function(){for(var t,e,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(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.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," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.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){return this._tweens.some(function(e){return e.target===t})},_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)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.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},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=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],10)),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 i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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():i.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,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.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){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(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-i.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*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.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])},i.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]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,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=e,this.key=e,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.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._removeFromSoundManager=!1,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*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.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},i.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._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),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(){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)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===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._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,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.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),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.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!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._sound&&(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&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(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,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.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(i.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))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=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 i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,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);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;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),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.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=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,r,o,a,h){var u={r:t||0,g:e||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 i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,u=(a.green-o.green)*n/s+o.green,l=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,u,l)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,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,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);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(i.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 i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.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"),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: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.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.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.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),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,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!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.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.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(i.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(i.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(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.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(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.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 5d2f50dd8..78111c0b4 100644 --- a/build/custom/phaser-split.js +++ b/build/custom/phaser-split.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:40 +* v2.8.8 "2017-09-25" - Built: Mon Sep 25 2017 13:19:07 * * 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.8.7', + VERSION: '2.8.8', /** * An array of Phaser game instances. @@ -518,15 +518,15 @@ var Phaser = Phaser || { // jshint ignore:line BOTTOM_RIGHT: 12, /** - * Various blend modes supported by Pixi. + * Various blend modes supported by Pixi. See the samples in {@link https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing Canvas Tutorial: Compositing}. * * IMPORTANT: The WebGL renderer only supports the NORMAL, ADD, MULTIPLY and SCREEN blend modes. * * @constant {Object} Phaser.blendModes - * @property {Number} blendModes.NORMAL - * @property {Number} blendModes.ADD - * @property {Number} blendModes.MULTIPLY - * @property {Number} blendModes.SCREEN + * @property {Number} blendModes.NORMAL - Draws new shapes on top of the existing content. This is the default setting. + * @property {Number} blendModes.ADD - Where both shapes overlap the color is determined by adding color values. + * @property {Number} blendModes.MULTIPLY - The pixels of the top layer are multiplied with the corresponding pixel of the bottom layer, making a darker picture. + * @property {Number} blendModes.SCREEN - The pixels are inverted, multiplied, and inverted again, making a lighter picture. * @property {Number} blendModes.OVERLAY * @property {Number} blendModes.DARKEN * @property {Number} blendModes.LIGHTEN @@ -6693,7 +6693,7 @@ Object.defineProperty(Phaser.Camera.prototype, "shakeIntensity", { * | | preload | create | paused | | * | | loadUpdate* | update* | pauseUpdate* | | * | | | preRender* | | | -* | | loadRender* | render* | pauseRender* | | +* | | loadRender* | render* | render* | | * | | | | resumed | | * | | | | | shutdown | * @@ -8447,7 +8447,7 @@ Phaser.SignalBinding.prototype.constructor = Phaser.SignalBinding; * * The default uniforms, types and values for all Filters are: * -* ``` +* ```javascript * resolution: { type: '2f', value: { x: 256, y: 256 }} * time: { type: '1f', value: 0 } * mouse: { type: '2f', value: { x: 0.0, y: 0.0 } } @@ -8561,7 +8561,7 @@ Phaser.Filter.prototype = { /** * This should be over-ridden. Will receive a variable number of arguments. - * + * * @method Phaser.Filter#init */ init: function () { @@ -8572,7 +8572,7 @@ Phaser.Filter.prototype = { /** * Set the resolution uniforms on the filter. - * + * * @method Phaser.Filter#setResolution * @param {number} width - The width of the display. * @param {number} height - The height of the display. @@ -8586,7 +8586,7 @@ Phaser.Filter.prototype = { /** * Updates the filter. - * + * * @method Phaser.Filter#update * @param {Phaser.Pointer} [pointer] - A Pointer object to use for the filter. The coordinates are mapped to the mouse uniform. */ @@ -8610,7 +8610,7 @@ Phaser.Filter.prototype = { }, /** - * Creates a new Phaser.Image object using a blank texture and assigns + * Creates a new Phaser.Image object using a blank texture and assigns * this Filter to it. The image is then added to the world. * * If you don't provide width and height values then Filter.width and Filter.height are used. @@ -8665,7 +8665,7 @@ Phaser.Filter.prototype = { /** * Syncs the uniforms between the class object and the shaders. - * + * * @method Phaser.Filter#syncUniforms */ syncUniforms: function () { @@ -8679,7 +8679,7 @@ Phaser.Filter.prototype = { /** * Clear down this Filter and null out references to game. - * + * * @method Phaser.Filter#destroy */ destroy: function () { @@ -8747,6 +8747,18 @@ Object.defineProperty(Phaser.Filter.prototype, 'height', { /** * This is a base Plugin template to use for any Phaser plugin development. * +* ##### Callbacks +* +* add | active | visible | remove +* -----|-------------|-------------|-------- +* init | | | +* | preUpdate* | | +* | update* | render* | +* | postUpdate* | postRender* | +* | | | destroy +* +* Update and render calls are repeated (*). +* * @class Phaser.Plugin * @constructor * @param {Phaser.Game} game - A reference to the currently running game. @@ -9421,7 +9433,7 @@ Phaser.Stage.prototype.checkVisibility = function () { }; this._onClick = function (event) { - if (!document.hasFocus()) + if ((document.hasFocus !== undefined) && !document.hasFocus()) { _this.visibilityChange(event); } @@ -14740,25 +14752,44 @@ Phaser.Input = function (game) { this.resetLocked = false; /** - * A Signal that is dispatched each time a pointer is pressed down. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is pressed down. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {Event} The original DOM event. + * * @property {Phaser.Signal} onDown */ this.onDown = null; /** - * A Signal that is dispatched each time a pointer is released. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is released. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {Event} The original DOM event. + * * @property {Phaser.Signal} onUp */ this.onUp = null; /** - * A Signal that is dispatched each time a pointer is tapped. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is tapped. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {boolean} True if this was a double tap. + * * @property {Phaser.Signal} onTap */ this.onTap = null; /** - * A Signal that is dispatched each time a pointer is held down. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is held down. + * It is sent one argument: + * + * - {Phaser.Pointer} The pointer that caused the event. + * * @property {Phaser.Signal} onHold */ this.onHold = null; @@ -24620,21 +24651,21 @@ Phaser.Component.Destroy.prototype = { /** * The Events component is a collection of events fired by the parent Game Object. -* +* * Phaser uses what are known as 'Signals' for all event handling. All of the events in * this class are signals you can subscribe to, much in the same way you'd "listen" for * an event. * * For example to tell when a Sprite has been added to a new group, you can bind a function -* to the `onAddedToGroup` signal: +* to the {@link #onAddedToGroup} signal: * * `sprite.events.onAddedToGroup.add(yourFunction, this);` * * Where `yourFunction` is the function you want called when this event occurs. -* -* For more details about how signals work please see the Phaser.Signal class. * -* The Input-related events will only be dispatched if the Sprite has had `inputEnabled` set to `true` +* For more details about how signals work please see the {@link Phaser.Signal} class. +* +* The Input-related events will only be dispatched if the Sprite has had {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true` * and the Animation-related events only apply to game objects with animations like {@link Phaser.Sprite}. * * @class Phaser.Events @@ -24666,7 +24697,6 @@ Phaser.Events.prototype = { if (this._onDestroy) { this._onDestroy.dispose(); } if (this._onAddedToGroup) { this._onAddedToGroup.dispose(); } if (this._onRemovedFromGroup) { this._onRemovedFromGroup.dispose(); } - if (this._onRemovedFromWorld) { this._onRemovedFromWorld.dispose(); } if (this._onKilled) { this._onKilled.dispose(); } if (this._onRevived) { this._onRevived.dispose(); } if (this._onEnterBounds) { this._onEnterBounds.dispose(); } @@ -24689,186 +24719,213 @@ Phaser.Events.prototype = { // The following properties are sentinels that will be replaced with getters /** - * This signal is dispatched when this Game Object is added to a new Group. + * This signal is dispatched when this Game Object is added to a new {@link Phaser.Group Group}. * It is sent two arguments: - * {any} The Game Object that was added to the Group. - * {Phaser.Group} The Group it was added to. + * + * - {any} The Game Object that was added to the Group. + * - {Phaser.Group} The Group it was added to. + * * @property {Phaser.Signal} onAddedToGroup */ onAddedToGroup: null, /** - * This signal is dispatched when the Game Object is removed from a Group. + * This signal is dispatched when the Game Object is removed from a {@link Phaser.Group Group}. * It is sent two arguments: - * {any} The Game Object that was removed from the Group. - * {Phaser.Group} The Group it was removed from. + * + * - {any} The Game Object that was removed from the Group. + * - {Phaser.Group} The Group it was removed from. + * * @property {Phaser.Signal} onRemovedFromGroup */ onRemovedFromGroup: null, - /** - * This Signal is never used internally by Phaser and is now deprecated. - * @deprecated - * @property {Phaser.Signal} onRemovedFromWorld - */ - onRemovedFromWorld: null, - /** * This signal is dispatched when the Game Object is destroyed. - * This happens when `Sprite.destroy()` is called, or `Group.destroy()` with `destroyChildren` set to true. + * This happens when {@link Phaser.Sprite#destroy Sprite.destroy()} is called, or {@link Phaser.Group#destroy Group.destroy()} with `destroyChildren` set to true. * It is sent one argument: - * {any} The Game Object that was destroyed. + * + * - {any} The Game Object that was destroyed. + * * @property {Phaser.Signal} onDestroy */ onDestroy: null, /** * This signal is dispatched when the Game Object is killed. - * This happens when `Sprite.kill()` is called. - * Please understand the difference between `kill` and `destroy` by looking at their respective methods. + * This happens when {@link Phaser.Sprite#kill Sprite.kill()} is called. + * Please understand the difference between {@link Phaser.Sprite#kill kill} and {@link Phaser.Sprite#destroy destroy} by looking at their respective methods. * It is sent one argument: - * {any} The Game Object that was killed. + * + * - {any} The Game Object that was killed. + * * @property {Phaser.Signal} onKilled */ onKilled: null, /** * This signal is dispatched when the Game Object is revived from a previously killed state. - * This happens when `Sprite.revive()` is called. + * This happens when {@link Phaser.Sprite#revive Sprite.revive()} is called. * It is sent one argument: - * {any} The Game Object that was revived. + * + * - {any} The Game Object that was revived. + * * @property {Phaser.Signal} onRevived */ onRevived: null, /** - * This signal is dispatched when the Game Object leaves the Phaser.World bounds. - * This signal is only if `Sprite.checkWorldBounds` is set to `true`. + * This signal is dispatched when the Game Object leaves the Phaser.World {@link Phaser.World#bounds bounds}. + * This signal is only if {@link Phaser.Sprite#checkWorldBounds Sprite.checkWorldBounds} is set to `true`. * It is sent one argument: - * {any} The Game Object that left the World bounds. + * + * - {any} The Game Object that left the World bounds. + * * @property {Phaser.Signal} onOutOfBounds */ onOutOfBounds: null, /** - * This signal is dispatched when the Game Object returns within the Phaser.World bounds, having previously been outside of them. - * This signal is only if `Sprite.checkWorldBounds` is set to `true`. + * This signal is dispatched when the Game Object returns within the Phaser.World {@link Phaser.World#bounds bounds}, having previously been outside of them. + * This signal is only if {@link Phaser.Sprite#checkWorldBounds Sprite.checkWorldBounds} is set to `true`. * It is sent one argument: - * {any} The Game Object that entered the World bounds. + * + * - {any} The Game Object that entered the World bounds. + * * @property {Phaser.Signal} onEnterBounds */ onEnterBounds: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an over event from a Phaser.Pointer. + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an over event from a {@link Phaser.Pointer}. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputOver */ onInputOver: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an out event from a Phaser.Pointer, which was previously over it. + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an out event from a {@link Phaser.Pointer}, which was previously over it. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputOut */ onInputOut: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives a down event from a Phaser.Pointer. This effectively means the Pointer has been + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives a down event from a {@link Phaser.Pointer}. This effectively means the Pointer has been * pressed down (but not yet released) on the Game Object. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputDown */ onInputDown: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an up event from a Phaser.Pointer. This effectively means the Pointer had been + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an up event from a {@link Phaser.Pointer}. This effectively means the Pointer had been * pressed down, and was then released on the Game Object. * It is sent three arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {boolean} isOver - Is the Pointer still over the Game Object? + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {boolean} isOver - Is the Pointer still over the Game Object? + * * @property {Phaser.Signal} onInputUp */ onInputUp: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer starts to drag the Game Object, taking into consideration the various + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} starts to drag the Game Object, taking into consideration the various * drag limitations that may be set. * It is sent four arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {number} The x coordinate that the drag started from. - * {number} The y coordinate that the drag started from. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {number} The x coordinate that the drag started from. + * - {number} The y coordinate that the drag started from. + * * @property {Phaser.Signal} onDragStart */ onDragStart: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer is actively dragging the Game Object. + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} is actively dragging the Game Object. * Be warned: This is a high volume Signal. Be careful what you bind to it. * It is sent six arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {number} The new x coordinate of the Game Object. - * {number} The new y coordinate of the Game Object. - * {Phaser.Point} A Point object that contains the point the Game Object was snapped to, if `snapOnDrag` has been enabled. - * {boolean} The `fromStart` boolean, indicates if this is the first update immediately after the drag has started. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {number} The new x coordinate of the Game Object. + * - {number} The new y coordinate of the Game Object. + * - {Phaser.Point} A Point object that contains the point the Game Object was snapped to, if `snapOnDrag` has been enabled. + * - {boolean} The `fromStart` boolean, indicates if this is the first update immediately after the drag has started. + * * @property {Phaser.Signal} onDragUpdate */ onDragUpdate: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer stops dragging the Game Object. + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} stops dragging the Game Object. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onDragStop */ onDragStop: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, * and an Animation has been played. - * You can also listen to `Animation.onStart` rather than via the Game Objects events. + * You can also listen to {@link Phaser.Animation#onStart} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that was started. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that was started. + * * @property {Phaser.Signal} onAnimationStart */ onAnimationStart: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, - * and an Animation has been stopped (via `animation.stop()` and the `dispatchComplete` argument has been set. - * You can also listen to `Animation.onComplete` rather than via the Game Objects events. + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, + * and an Animation has been stopped (via {@link Phaser.AnimationManager#stop animation.stop()} and the `dispatchComplete` argument has been set. + * You can also listen to {@link Phaser.Animation#onComplete} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that was stopped. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that was stopped. + * * @property {Phaser.Signal} onAnimationComplete */ onAnimationComplete: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, * and an Animation has looped playback. - * You can also listen to `Animation.onLoop` rather than via the Game Objects events. + * You can also listen to {@link Phaser.Animation#onLoop} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that looped. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that looped. + * * @property {Phaser.Signal} onAnimationLoop */ onAnimationLoop: null @@ -27524,7 +27581,7 @@ Phaser.Image.prototype.preUpdate = function() { * @param {number} [x=0] - X position of the Button. * @param {number} [y=0] - Y position of the Button. * @param {string} [key] - The image key (in the Game.Cache) to use as the texture for this Button. -* @param {function} [callback] - The function to call when this Button is pressed. +* @param {function} [callback] - The function to call when this Button is pressed, receiving `this` (the Button), `pointer`, and `isOver` (see {@link Phaser.Events#onInputUp}.) * @param {object} [callbackContext] - The context in which the callback will be called (usually 'this'). * @param {string|integer} [overFrame] - The frame / frameName when the button is in the Over state. * @param {string|integer} [outFrame] - The frame / frameName when the button is in the Out state. @@ -27679,7 +27736,7 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame, * @property {Phaser.PointerMode?} justReleasedPreventsOver=ACTIVE_CURSOR */ this.justReleasedPreventsOver = Phaser.PointerMode.TOUCH; - + /** * When true the the texture frame will not be automatically switched on up/down/over/out events. * @property {boolean} freezeFrames @@ -27716,8 +27773,6 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame, this.events.onInputDown.add(this.onInputDownHandler, this); this.events.onInputUp.add(this.onInputUpHandler, this); - this.events.onRemovedFromWorld.add(this.removedFromWorld, this); - }; Phaser.Button.prototype = Object.create(Phaser.Image.prototype); @@ -27740,18 +27795,6 @@ Phaser.Button.prototype.clearFrames = function () { }; -/** -* Called when this Button is removed from the World. -* -* @method Phaser.Button#removedFromWorld -* @protected -*/ -Phaser.Button.prototype.removedFromWorld = function () { - - this.inputEnabled = false; - -}; - /** * Set the frame name/ID for the given state. * @@ -28798,28 +28841,34 @@ Phaser.BitmapData.prototype = { }, /** - * Creates a new Image element by converting this BitmapDatas canvas into a dataURL. + * Creates a new {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image Image} element by converting this BitmapDatas canvas into a dataURL. * - * The image is then stored in the image Cache using the key given. + * The image is then stored in the {@link Phaser.Cache image Cache} using the key given. * - * Finally a PIXI.Texture is created based on the image and returned. + * Finally a {@link 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: + * key or the texture. First call `generateTexture`: * - * `var texture = bitmapdata.generateTexture('ball');` + * ```javascript + * var texture = bitmapdata.generateTexture('ball'); + * ``` * * Then you can either apply the texture to a sprite: * - * `game.add.sprite(0, 0, texture);` + * ```javascript + * game.add.sprite(0, 0, texture); + * ``` * * or by using the string based key: * - * `game.add.sprite(0, 0, 'ball');` + * ```javascript + * game.add.sprite(0, 0, 'ball'); + * ``` * * Most browsers now load the image data asynchronously, so you should use a callback: * - * ``` + * ```javascript * bitmapdata.generateTexture('ball', function (texture) { * game.add.sprite(0, 0, texture); * // or @@ -32755,7 +32804,7 @@ Phaser.GraphicsData.prototype.clone = function () { * Circles and Polygons. They also include lines, arcs and curves. When you initially create a Graphics object it will * be empty. To 'draw' to it you first specify a lineStyle or fillStyle (or both), and then draw a shape. For example: * -* ``` +* ```javascript * graphics.beginFill(0xff0000); * graphics.drawCircle(50, 50, 100); * graphics.endFill(); @@ -53537,7 +53586,7 @@ Phaser.Loader.prototype = { * * The texture path object looks like this: * - * ``` + * ```javascript * load.image('factory', { * etc1: 'assets/factory_etc1.pkm', * s3tc: 'assets/factory_dxt1.pvr', @@ -53597,7 +53646,7 @@ Phaser.Loader.prototype = { * * The texture path object looks like this: * - * ``` + * ```javascript * load.texture('factory', { * etc1: 'assets/factory_etc1.pkm', * s3tc: 'assets/factory_dxt1.pvr', @@ -62220,25 +62269,27 @@ Phaser.Utils.Debug.prototype = { this.line('clearBeforeRender: ' + r.clearBeforeRender); this.line('resolution: ' + r.resolution); this.line('transparent: ' + r.transparent); + this.line('renderSession:'); if (r.gl) { - this.line('drawCount: ' + s.drawCount); - this.line('flushCount: ' + s.flushCount); - this.line('maxTextures: ' + r.maxTextures); - this.line('maxTextureSize: ' + r.maxTextureSize); - this.line('maxTextureAvailableSpace: ' + s.maxTextureAvailableSpace); - this.line('currentBatchedTextures: ('+ r.currentBatchedTextures.length + ')'); + this.line(' currentBatchedTextures: ('+ r.currentBatchedTextures.length + ')'); for (var i = 0; i < r.currentBatchedTextures.length; i++) { - this.line(' ' + r.currentBatchedTextures[i]); + this.line(' ' + r.currentBatchedTextures[i]); } + + this.line(' drawCount: ' + s.drawCount); + this.line(' maxTextures: ' + r.maxTextures); + this.line(' maxTextureSize: ' + r.maxTextureSize); + this.line(' maxTextureAvailableSpace: ' + s.maxTextureAvailableSpace); + this.line(' roundPixels: ' + s.roundPixels); } else { - this.line('roundPixels: ' + s.roundPixels); - this.line('scaleMode: ' + (s.scaleMode === 0 ? 'LINEAR' : (s.scaleMode === 1 ? 'NEAREST' : s.scaleMode))); + this.line(' roundPixels: ' + s.roundPixels); + this.line(' scaleMode: ' + (s.scaleMode === 0 ? 'LINEAR' : (s.scaleMode === 1 ? 'NEAREST' : s.scaleMode))); } this.stop(); @@ -63238,7 +63289,7 @@ Phaser.ArrayUtils = { /** * Create an array representing the inclusive range of numbers (usually integers) in `[start, end]`. - * This is equivalent to `numberArrayStep(start, end, 1)`. + * This is equivalent to `numberArrayStep(start, 1 + end, 1)`. * * @method Phaser.ArrayUtils.numberArray * @param {number} start - The minimum value the array starts with. @@ -64697,7 +64748,7 @@ Phaser.Color = { */ updateColor: function (out) { - out.rgba = 'rgba(' + out.r.toString() + ',' + out.g.toString() + ',' + out.b.toString() + ',' + out.a.toString() + ')'; + out.rgba = 'rgba(' + out.r.toFixed() + ',' + out.g.toFixed() + ',' + out.b.toFixed() + ',' + out.a.toString() + ')'; out.color = Phaser.Color.getColor(out.r, out.g, out.b); out.color32 = Phaser.Color.getColor32(out.a * 255, out.r, out.g, out.b); @@ -73585,7 +73636,7 @@ Phaser.Physics.P2.Body.prototype = { if (rotation === undefined) { rotation = 0; } this.data.addShape(shape, [this.world.pxmi(offsetX), this.world.pxmi(offsetY)], rotation); - this.shapeChanged(rotation); + this.shapeChanged(); return shape; @@ -73871,14 +73922,12 @@ Phaser.Physics.P2.Body.prototype = { }, /** - * Updates the debug draw if any body shapes change. Always update the angle data prior to debug drawing the shape. + * Updates the debug draw if any body shapes change. * * @method Phaser.Physics.P2.Body#shapeChanged - * @param {number} [rotation=0] - Local rotation of the shape relative to the body center of mass, specified in radians. */ - shapeChanged: function(rotation) { + shapeChanged: function() { - this.data.angle=rotation; if (this.debugBody) { this.debugBody.draw(); @@ -74012,10 +74061,9 @@ Phaser.Physics.P2.Body.prototype = { * @param {string|object} object - 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. * @param {number} [scale=1] - Optionally resize the loaded polygon. - * @param {number} [rotation=0] - Local rotation of the shape relative to the body center of mass, specified in radians. * @return {boolean} True on success, else false. */ - loadPolygon: function (key, object, scale,rotation) { + loadPolygon: function (key, object, scale) { if (key === null) { @@ -74068,7 +74116,7 @@ Phaser.Physics.P2.Body.prototype = { } this.data.aabbNeedsUpdate = true; - this.shapeChanged(rotation); + this.shapeChanged(); return true; @@ -74680,7 +74728,7 @@ Phaser.Utils.extend(Phaser.Physics.P2.BodyDebug.prototype, { { child = obj.shapes[i]; offset = child.position || 0; - angle = 0 ; + angle = child.angle || 0; if (child instanceof p2.Circle) { @@ -80299,6 +80347,7 @@ Phaser.Tileset.prototype = { * * @method Phaser.Tileset#containsTileIndex * @public + * @param {number} tileIndex * @return {boolean} True if this tileset contains the given index. */ containsTileIndex: function (tileIndex) { @@ -80321,7 +80370,7 @@ Phaser.Tileset.prototype = { this.image = image; this.updateTileData(image.width, image.height); - + }, /** @@ -80889,19 +80938,26 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this.particleSendToBack = false; /** - * @property {object} count - Records emitter activity. - * @property {number} count.emitted - How many particles were emitted during the last update. - * @property {number} count.failed - How many particles could not be emitted during the last update (because no particles were available). - * @property {number} count.totalEmitted - How many particles have been emitted. - * @property {number} count.totalFailed - How many particles could not be emitted when they were due (because no particles were available). - */ - this.count = { + * @property {object} counts - Records emitter activity. + * @property {number} counts.emitted - How many particles were emitted during the last update. + * @property {number} counts.failed - How many particles could not be emitted during the last update (because no particles were available). + * @property {number} counts.totalEmitted - How many particles have been emitted. + * @property {number} counts.totalFailed - How many particles could not be emitted when they were due (because no particles were available). + */ + this.counts = { emitted: 0, failed: 0, totalEmitted: 0, totalFailed: 0 }; + /** + * Alias for {@link #counts}. Will be removed in a future release. + * + * @deprecated Use {@link #counts} instead. + */ + this.count = this.counts; + /** * @property {Phaser.Point} _gravity - Internal gravity value. * @private diff --git a/build/custom/phaser-split.map b/build/custom/phaser-split.map index b88b1e7c2..620772292 100644 --- a/build/custom/phaser-split.map +++ b/build/custom/phaser-split.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-split.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","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","Math","trunc","x","ceil","floor","Function","prototype","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","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperty","value","last","pop","l","current","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","name","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","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","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","Ellipse","width","height","p","sqrt","normx","normy","Line","x1","y1","x2","y2","start","end","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","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","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","y0","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","inflatePoint","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","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","h","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","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","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_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","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","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","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","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","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","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","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","count","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","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","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","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","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_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","CONTACT","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","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","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","pointerLocalCoord","globalToLocal","py","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","_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","k","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","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","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","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","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","removedFromWorld","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","gl","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","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","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","Infinity","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","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","startAngle","endAngle","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","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","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","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","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","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","x0","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","clip","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","getFirst","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","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","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","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","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","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","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","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","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","self","_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","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","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","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","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","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","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","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","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","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","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","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","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","flushCount","maxTextures","maxTextureSize","maxTextureAvailableSpace","currentBatchedTextures","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","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","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","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","steps","currentStep","src1","src2","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","center","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","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","on","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","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","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","tiles","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","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","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","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","lastgid","curo","polygon","ellipse","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","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","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","onError","onTimeout","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","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","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":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","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","Math","trunc","x","ceil","floor","Function","prototype","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","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperty","value","last","pop","l","current","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","name","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","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","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","Ellipse","width","height","p","sqrt","normx","normy","Line","x1","y1","x2","y2","start","end","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","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","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","y0","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","inflatePoint","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","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","h","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","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","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_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","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","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","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","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","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","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","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","count","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","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","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","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","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_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","CONTACT","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","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","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","pointerLocalCoord","globalToLocal","py","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","_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","k","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","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","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_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","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","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","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","gl","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","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","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","Infinity","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","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","startAngle","endAngle","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","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","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","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","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","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","x0","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","clip","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","getFirst","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","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","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","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","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","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","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","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","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","self","_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","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","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","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","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","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","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","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","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","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","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","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","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","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","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","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","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","steps","currentStep","src1","src2","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","center","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","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","on","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","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","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","tiles","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","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","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","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","lastgid","curo","polygon","ellipse","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","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","onError","onTimeout","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","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","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 8d9ce289a..522d5a39f 100644 --- a/build/custom/phaser-split.min.js +++ b/build/custom/phaser-split.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.7 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.8 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.7",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,o,r){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==o&&null!==o||(o=0),void 0!==r&&null!==r||(r=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=o,this.ty=r,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,o){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=o,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,o=t.y;return e.x=this.d*s*n+-this.c*s*o+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*o+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,o=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=o*e-this.ty*i,this.ty=o*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.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,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,o=[];return e.forEach(function(e){i.forEach(function(i){for(var r=0;rthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.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)},i.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=0;r2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.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 e=!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}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}o&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*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,e,s){s||(s=i.Color.createColor());var n=~~(t+e*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,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),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 e=i.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{i.Color.unpackPixel(this.getPixel32(s,n),e),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===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.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,e,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 i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.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 i.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 i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),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)){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+e,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,e,s){if(void 0===e&&(e=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 i.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,e&&(this.op=e),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,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.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,e.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),i.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 i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.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=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.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&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.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&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.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},i.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},i.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},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.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},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.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)},i.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,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.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===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),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?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,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.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}},i.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},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.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},i.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},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=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},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.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},i.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()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.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}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.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=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.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===i.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 i.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 i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.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},i.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)},i.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++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.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)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.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,"")},i.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},i.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()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.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(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).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(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.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)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=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===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.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},i.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},i.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},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.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(i.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(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.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=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.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,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){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,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/A,E/A,O/A,R/A,I/A,L/A),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.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(i.Rope.prototype,"segments",{get:function(){for(var t,e,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(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.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," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.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){return this._tweens.some(function(e){return e.target===t})},_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)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.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},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=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],10)),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 i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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():i.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,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.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){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(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-i.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*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.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])},i.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]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,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=e,this.key=e,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.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._removeFromSoundManager=!1,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*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.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},i.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._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),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(){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)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===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._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,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.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),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.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!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._sound&&(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&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(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,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.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(i.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))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=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 i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,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);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;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),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.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=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,o,r,a,h){var l={r:t||0,g:e||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 i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o){void 0===o&&(o=255);var r=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-r.red)*n/s+r.red,l=(a.green-r.green)*n/s+r.green,c=(a.blue-r.blue)*n/s+r.blue;return i.Color.getColor32(o,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.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,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.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,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.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===i.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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.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)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.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,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.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:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.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),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.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)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.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,e,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 i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},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,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},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){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},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)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.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 i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.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 i.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 i.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},i.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=Math.atan2(this.velocity.y,this.velocity.x)),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=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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,e,s){var n=e/(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),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),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,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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 i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.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)},i.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)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.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}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.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,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,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,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,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 i.Physics.P2.Body?t.data:t.body&&t.body.type===i.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,e,s,n){void 0===e&&(e=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=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.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(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.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}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.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(t){this.data.angle=t,this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++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"}}),i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.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)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.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)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.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)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.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)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.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)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.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},i.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}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,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)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.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,e,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!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.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)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=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:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,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:e,height:s,widthInPixels:e*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 i.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,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}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}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.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=i.TILEMAPLAYER,this.physicsType=i.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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.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},i.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)},i.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)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.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},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.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)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.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)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.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))}}}},i.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)}},i.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)},i.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(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,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===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=l,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}U={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&&(U.properties=r.properties);for(var u,d,p,f=0,m=[],g=[],y=0,h=r.data.length;y536870912)switch(k>2147483648&&(k-=2147483648,p+=4),k>1073741824&&(k-=1073741824,p+=2),k>536870912&&(k-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}k>0?((G=new i.Tile(U,k,f,g.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===r.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],o=0;o=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()},i.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},i.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},i.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()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.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},i.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(i.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(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.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 i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.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()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.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},i.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},i.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},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.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!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.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===i.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+=i.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},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.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},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.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},i.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(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.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(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.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=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,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,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);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(i.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 i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.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"),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: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.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.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.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),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,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!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.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.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(i.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(i.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(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.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(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); +(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.8",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,o,r){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==o&&null!==o||(o=0),void 0!==r&&null!==r||(r=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=o,this.ty=r,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,o){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=o,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,o=t.y;return e.x=this.d*s*n+-this.c*s*o+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*o+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,o=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=o*e-this.ty*i,this.ty=o*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.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,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,o=[];return e.forEach(function(e){i.forEach(function(i){for(var r=0;rthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.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)},i.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=0;r2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.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 e=!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}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}o&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*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,e,s){s||(s=i.Color.createColor());var n=~~(t+e*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,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),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 e=i.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{i.Color.unpackPixel(this.getPixel32(s,n),e),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===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.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,e,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 i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.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 i.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 i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),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)){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+e,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,e,s){if(void 0===e&&(e=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 i.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,e&&(this.op=e),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,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.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,e.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),i.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 i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.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=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.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&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.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&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.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},i.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},i.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},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.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},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.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)},i.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,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.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===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),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?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,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.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}},i.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},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.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},i.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},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=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},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.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},i.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()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.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}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.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=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.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===i.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 i.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 i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.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},i.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)},i.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++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.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)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.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,"")},i.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},i.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()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.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(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).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(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.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)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=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===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.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},i.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},i.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},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.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(i.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(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.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=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.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,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){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,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/A,E/A,O/A,R/A,I/A,L/A),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.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(i.Rope.prototype,"segments",{get:function(){for(var t,e,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(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.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," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.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){return this._tweens.some(function(e){return e.target===t})},_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)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.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},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=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],10)),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 i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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():i.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,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.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){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(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-i.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*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.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])},i.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]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,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=e,this.key=e,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.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._removeFromSoundManager=!1,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*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.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},i.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._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),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(){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)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===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._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,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.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),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.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!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._sound&&(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&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(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,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.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(i.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))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=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 i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,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);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;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),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.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=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,o,r,a,h){var l={r:t||0,g:e||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 i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o){void 0===o&&(o=255);var r=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-r.red)*n/s+r.red,l=(a.green-r.green)*n/s+r.green,c=(a.blue-r.blue)*n/s+r.blue;return i.Color.getColor32(o,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.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,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.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,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.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===i.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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.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)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.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,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.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:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.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),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.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)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.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,e,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 i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},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,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},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){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},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)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.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 i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.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 i.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 i.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},i.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=Math.atan2(this.velocity.y,this.velocity.x)),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=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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,e,s){var n=e/(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),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),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,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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 i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.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)},i.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)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.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}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.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,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,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,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,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 i.Physics.P2.Body?t.data:t.body&&t.body.type===i.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,e,s,n){void 0===e&&(e=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=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.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(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.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}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.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;np;n=0<=p?++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"}}),i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.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)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.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)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.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)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.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)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.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)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.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},i.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}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,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)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.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,e,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!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.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)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=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:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,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:e,height:s,widthInPixels:e*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 i.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,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}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}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.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=i.TILEMAPLAYER,this.physicsType=i.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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.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},i.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)},i.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)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.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},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.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)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.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)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.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))}}}},i.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)}},i.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)},i.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(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,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===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=l,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}U={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&&(U.properties=r.properties);for(var u,d,p,f=0,m=[],g=[],y=0,h=r.data.length;y536870912)switch(k>2147483648&&(k-=2147483648,p+=4),k>1073741824&&(k-=1073741824,p+=2),k>536870912&&(k-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}k>0?((G=new i.Tile(U,k,f,g.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===r.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],o=0;o=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()},i.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},i.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},i.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()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.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},i.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(i.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(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.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 i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.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()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.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},i.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},i.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},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.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!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.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===i.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+=i.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},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.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},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.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},i.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(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.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(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.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=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,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,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);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(i.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 i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.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"),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: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.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.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.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),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,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!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.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.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(i.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(i.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(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.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(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).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 db510863f..dfd1fc4a2 100644 --- a/build/custom/pixi.js +++ b/build/custom/pixi.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:48 +* v2.8.8 "2017-09-25" - Built: Mon Sep 25 2017 13:19:16 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -3522,7 +3522,6 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.game = this.game; this.renderSession.gl = this.gl; this.renderSession.drawCount = 0; - this.renderSession.flushCount = 0; this.renderSession.shaderManager = this.shaderManager; this.renderSession.maskManager = this.maskManager; this.renderSession.filterManager = this.filterManager; @@ -3531,6 +3530,7 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.stencilManager = this.stencilManager; this.renderSession.renderer = this; this.renderSession.resolution = this.resolution; + this.renderSession.roundPixels = false; this.renderSession.maxTextureAvailableSpace = null; // filled in setTexturePriority() // time init the context.. @@ -3737,7 +3737,6 @@ PIXI.WebGLRenderer.prototype.renderDisplayObject = function(displayObject, proje // reset the render session data.. this.renderSession.drawCount = 0; - this.renderSession.flushCount = 0; // make sure to flip the Y if using a render texture.. this.renderSession.flipY = buffer ? -1 : 1; @@ -5280,7 +5279,6 @@ PIXI.WebGLSpriteBatch.prototype.flush = function () { // then reset the batch! this.currentBatchSize = 0; - this.renderSession.flushCount++; }; /** @@ -5742,7 +5740,6 @@ PIXI.WebGLFastSpriteBatch.prototype.flush = function() // increment the draw count this.renderSession.drawCount++; - this.renderSession.flushCount++; }; diff --git a/build/custom/pixi.map b/build/custom/pixi.map index d1e6584d7..b0303f682 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","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","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","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","tintedTexture","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","floor","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","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","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","CanvasPool","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","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd"],"mappings":";;CAiCA,WA6lMA,SAASA,EAAoBC,EAAIC,EAAOC,EAAQC,GAC5C,IAAIC,EAAUJ,EAAGK,gBAOjB,OANAL,EAAGM,YAAYN,EAAGO,WAAYH,GAC9BJ,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBT,IAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAC7GhB,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBd,IAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAC7GhB,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAMlB,EAAOC,EAAQ,EAAGF,EAAGmB,KAAMnB,EAAGoB,cAAe,MAC/EhB,EAgBX,SAASiB,EAAmBrB,EAAIC,EAAOC,EAAQC,EAAWmB,GACtD,IAAIC,EAAcvB,EAAGwB,oBACjBC,EAAqBzB,EAAG0B,qBACxBC,EAAc,KACdC,EAAW,EAgBf,OAdA5B,EAAG6B,cAAc7B,EAAG8B,SAAWR,GAC/BtB,EAAG+B,gBAAgB/B,EAAGgC,YAAaT,GACnCvB,EAAGiC,iBAAiBjC,EAAGkC,aAAcT,GACrCzB,EAAGmC,wBAAwBnC,EAAGgC,YAAahC,EAAGoC,yBAA0BpC,EAAGkC,aAAcG,KAAKC,cAC9FX,EAAc5B,EAAoBC,EAAIC,EAAOC,EAAQC,GACrDH,EAAGuC,qBAAqBvC,EAAGgC,YAAahC,EAAGwC,kBAAmBxC,EAAGO,WAAYoB,EAAa,IAC1FC,EAAW5B,EAAGyC,uBAAuBzC,EAAGgC,gBACxBhC,EAAG0C,sBACfC,QAAQC,MAAM,8BAA+BC,EAAUjB,IAE3DL,EAAYtB,MAAQA,EACpBsB,EAAYrB,OAASA,EACrBqB,EAAYuB,cAAgBnB,EAC5BJ,EAAYe,aAAeb,EACpBF,EAvoMP,IAAIwB,EAAOV,KAUXxB,EAAOA,MAmBXA,EAAKmC,cAAgB,WAWjBX,KAAKY,SAAW,IAAIpC,EAAKqC,MAAM,EAAG,GAYlCb,KAAKc,MAAQ,IAAItC,EAAKqC,MAAM,EAAG,GAQ/Bb,KAAKe,MAAQ,IAAIvC,EAAKqC,MAAM,EAAG,GAY/Bb,KAAKgB,SAAW,EAYhBhB,KAAKiB,MAAQ,EAcbjB,KAAKkB,SAAU,EASflB,KAAKmB,QAAU,KASfnB,KAAKoB,YAAa,EAYlBpB,KAAKqB,OAAS,KAgBdrB,KAAKsB,WAAa,EAelBtB,KAAKuB,eAAiB,IAAIC,OAAOC,OAejCzB,KAAK0B,cAAgB,IAAIlD,EAAKqC,MAAM,EAAG,GAevCb,KAAK2B,WAAa,IAAInD,EAAKqC,MAAM,EAAG,GAepCb,KAAK4B,cAAgB,EASrB5B,KAAK6B,WAAa,KAMlB7B,KAAK8B,IAAM,EAMX9B,KAAK+B,IAAM,EAMX/B,KAAKgC,QAAU,IAAIxD,EAAKyD,UAAU,EAAG,EAAG,EAAG,GAM3CjC,KAAKkC,eAAiB,KAMtBlC,KAAKmC,MAAQ,KAMbnC,KAAKoC,gBAAiB,EAMtBpC,KAAKqC,eAAgB,GAIzB7D,EAAKmC,cAAc2B,WAEfC,YAAa/D,EAAKmC,cAWlB6B,QAAS,WAEL,GAAIxC,KAAKyC,SACT,CAGI,IAFA,IAAIC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEH1C,KAAKyC,SAASC,GAAGF,UAGrBxC,KAAKyC,YAGTzC,KAAKmB,QAAU,KACfnB,KAAKqB,OAAS,KACdrB,KAAKuB,eAAiB,KACtBvB,KAAK6B,WAAa,KAClB7B,KAAKoB,YAAa,EAElBpB,KAAKgC,QAAU,KACfhC,KAAKkC,eAAiB,KACtBlC,KAAKmC,MAAQ,KAEbnC,KAAK4C,wBAuBTC,gBAAiB,SAAUxB,GAEvB,IAAKA,IAAWrB,KAAKqB,SAAWrB,KAAK8C,KAEjC,OAAO9C,KAGX,IAAI+C,EAAI/C,KAAKqB,OAETA,EAEA0B,EAAI1B,EAEErB,KAAKqB,SAEX0B,EAAI/C,KAAK8C,KAAKE,OAIlB,IAIIC,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,EAJhBC,EAAKR,EAAExB,eACPiC,EAAKxD,KAAKuB,eAMVvB,KAAKgB,SAAWQ,OAAOiC,KAAKC,KAGxB1D,KAAKgB,WAAahB,KAAK2D,gBAEvB3D,KAAK2D,cAAgB3D,KAAKgB,SAC1BhB,KAAK8B,IAAM2B,KAAKG,IAAI5D,KAAKgB,UACzBhB,KAAK+B,IAAM0B,KAAKI,IAAI7D,KAAKgB,WAI7BiC,EAAMjD,KAAK+B,IAAM/B,KAAKc,MAAMgD,EAC5BZ,EAAMlD,KAAK8B,IAAM9B,KAAKc,MAAMgD,EAC5BX,GAAMnD,KAAK8B,IAAM9B,KAAKc,MAAMiD,EAC5BX,EAAMpD,KAAK+B,IAAM/B,KAAKc,MAAMiD,EAC5BV,EAAMrD,KAAKY,SAASkD,EACpBR,EAAMtD,KAAKY,SAASmD,GAGhB/D,KAAKe,MAAM+C,GAAK9D,KAAKe,MAAMgD,KAE3BV,GAAMrD,KAAKe,MAAM+C,EAAIb,EAAIjD,KAAKe,MAAMgD,EAAIZ,EACxCG,GAAMtD,KAAKe,MAAM+C,EAAIZ,EAAIlD,KAAKe,MAAMgD,EAAIX,GAI5CI,EAAGP,EAAKA,EAAKM,EAAGN,EAAIC,EAAKK,EAAGJ,EAC5BK,EAAGN,EAAKD,EAAKM,EAAGL,EAAIA,EAAKK,EAAGH,EAC5BI,EAAGL,EAAKA,EAAKI,EAAGN,EAAIG,EAAKG,EAAGJ,EAC5BK,EAAGJ,EAAKD,EAAKI,EAAGL,EAAIE,EAAKG,EAAGH,EAC5BI,EAAGH,GAAKA,EAAKE,EAAGN,EAAIK,EAAKC,EAAGJ,EAAII,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAGL,EAAII,EAAKC,EAAGH,EAAIG,EAAGD,KAKnCL,EAAKjD,KAAKc,MAAMgD,EAChBZ,EAAK,EACLC,EAAK,EACLC,EAAKpD,KAAKc,MAAMiD,EAChBV,EAAKrD,KAAKY,SAASkD,EAAI9D,KAAKe,MAAM+C,EAAIb,EACtCK,EAAKtD,KAAKY,SAASmD,EAAI/D,KAAKe,MAAMgD,EAAIX,EAEtCI,EAAGP,EAAKA,EAAKM,EAAGN,EAChBO,EAAGN,EAAKD,EAAKM,EAAGL,EAChBM,EAAGL,EAAKC,EAAKG,EAAGJ,EAChBK,EAAGJ,EAAKA,EAAKG,EAAGH,EAChBI,EAAGH,GAAKA,EAAKE,EAAGN,EAAIK,EAAKC,EAAGJ,EAAII,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAGL,EAAII,EAAKC,EAAGH,EAAIG,EAAGD,IAGvCL,EAAIO,EAAGP,EACPC,EAAIM,EAAGN,EACPC,EAAIK,EAAGL,EAGP,IAAIa,EAAUf,GAFdG,EAAII,EAAGJ,GAEiBF,EAAIC,EAE5B,GAAIF,GAAKC,EACT,CACI,IAAIe,EAAIR,KAAKS,KAAMjB,EAAIA,EAAMC,EAAIA,GAEjClD,KAAK4B,cAAiBsB,EAAI,EAAKO,KAAKU,KAAKlB,EAAIgB,IAAMR,KAAKU,KAAKlB,EAAIgB,GACjEjE,KAAK2B,WAAWmC,EAAIG,EACpBjE,KAAK2B,WAAWoC,EAAIC,EAASC,OAE5B,GAAId,GAAKC,EACd,CACI,IAAIgB,EAAIX,KAAKS,KAAMf,EAAIA,EAAMC,EAAIA,GAEjCpD,KAAK4B,cAAgBJ,OAAOiC,KAAKY,SAAYjB,EAAI,EAAKK,KAAKU,MAAMhB,EAAIiB,IAAMX,KAAKU,KAAKhB,EAAIiB,IACzFpE,KAAK2B,WAAWmC,EAAIE,EAASI,EAC7BpE,KAAK2B,WAAWoC,EAAIK,OAIpBpE,KAAK2B,WAAWmC,EAAI,EACpB9D,KAAK2B,WAAWoC,EAAI,EAiBxB,OAbA/D,KAAKsB,WAAatB,KAAKiB,MAAQ8B,EAAEzB,WACjCtB,KAAK0B,cAAcoC,EAAIN,EAAGH,GAC1BrD,KAAK0B,cAAcqC,EAAIP,EAAGF,GAG1BtD,KAAKkC,eAAiB,KAGlBlC,KAAKsE,mBAELtE,KAAKsE,kBAAkBC,KAAKvE,KAAKwE,yBAA0BhB,EAAID,GAG5DvD,MASXyE,UAAW,aAiBXC,gBAAiB,SAAUC,EAAY7G,EAAW8G,GAE9C,IAAIC,EAAS7E,KAAK8E,iBAEdC,EAAgB,IAAIvD,OAAOwD,cAAchF,KAAK8C,KAAqB,EAAf+B,EAAOjH,MAA2B,EAAhBiH,EAAOhH,OAAY+G,EAAU9G,EAAW6G,GAOlH,OALAnG,EAAKmC,cAAcsE,YAAY5B,IAAMwB,EAAOf,EAC5CtF,EAAKmC,cAAcsE,YAAY3B,IAAMuB,EAAOd,EAE5CgB,EAAcG,OAAOlF,KAAMxB,EAAKmC,cAAcsE,aAEvCF,GAUXI,YAAa,WAIT,OAFAnF,KAAKoF,wBAEEpF,MAWXqF,SAAU,SAAUzE,GAIhB,OAFAZ,KAAK6C,kBAEE7C,KAAKuB,eAAe+D,MAAM1E,IAYrC2E,QAAS,SAAU3E,EAAU4E,GASzB,OAPIA,IAEA5E,EAAW4E,EAAKH,SAASzE,IAG7BZ,KAAK6C,kBAEE7C,KAAKuB,eAAekE,aAAa7E,IAW5C8E,oBAAqB,SAAUC,GAE3B3F,KAAK4F,cAActE,WAAatB,KAAKsB,WAEjCqE,EAAchI,GAEda,EAAKqH,OAAOvD,UAAUwD,aAAavB,KAAKvE,KAAK4F,cAAeD,GAI5DnH,EAAKqH,OAAOvD,UAAUyD,cAAcxB,KAAKvE,KAAK4F,cAAeD,IAWrEP,sBAAuB,WAEnBpF,KAAKoC,gBAAiB,EAEtB,IAAIyC,EAAS7E,KAAK8E,iBAQlB,GALAD,EAAOjH,MAAQ6F,KAAKuC,IAAI,EAAGvC,KAAKwC,KAAKpB,EAAOjH,QAC5CiH,EAAOhH,OAAS4F,KAAKuC,IAAI,EAAGvC,KAAKwC,KAAKpB,EAAOhH,SAE7CmC,KAAK6C,kBAEA7C,KAAK4F,cAaN5F,KAAK4F,cAAc7H,QAAQmI,OAAOrB,EAAOjH,MAAOiH,EAAOhH,YAZ3D,CACI,IAAIoB,EAAc,EACde,KAAKjC,SAAWiC,KAAKjC,QAAQoI,aAAe3H,EAAK4H,4BAEjDnH,EAAce,KAAKjC,QAAQoI,YAAYE,cAE3C,IAAItB,EAAgB,IAAIvD,OAAOwD,cAAchF,KAAK8C,KAAM+B,EAAOjH,MAAOiH,EAAOhH,YAAQyI,OAAWA,OAAWA,OAAWA,EAAWrH,GACjIe,KAAK4F,cAAgB,IAAIpH,EAAKqH,OAAOd,GACrC/E,KAAK4F,cAAcrE,eAAiBvB,KAAKuB,eAQ7C,IAAIgF,EAAcvG,KAAKwG,SAEvBxG,KAAKwG,SAAW,KAChBxG,KAAK4F,cAAca,QAAUF,EAE7B/H,EAAKmC,cAAcsE,YAAY5B,IAAMwB,EAAOf,EAC5CtF,EAAKmC,cAAcsE,YAAY3B,IAAMuB,EAAOd,EAC5C/D,KAAK4F,cAAc7H,QAAQmH,OAAOlF,KAAMxB,EAAKmC,cAAcsE,aAAa,GACxEjF,KAAK4F,cAAcc,OAAO5C,GAAMe,EAAOf,EAAIe,EAAOjH,MAClDoC,KAAK4F,cAAcc,OAAO3C,GAAMc,EAAOd,EAAIc,EAAOhH,OAElDmC,KAAKwG,SAAWD,EAEhBvG,KAAKoC,gBAAiB,GAU1BQ,qBAAsB,WAEb5C,KAAK4F,gBAKV5F,KAAK4F,cAAc7H,QAAQyE,SAAQ,GAEnCxC,KAAK4F,cAAgB,QAO7BpH,EAAKmC,cAAc2B,UAAUqE,6BAA+BnI,EAAKmC,cAAc2B,UAAUO,gBAEzF+D,OAAOC,iBAAiBrI,EAAKmC,cAAc2B,WAQvCwB,GAEIgD,IAAK,WAED,OAAO9G,KAAKY,SAASkD,GAIzBiD,IAAK,SAAUC,GAEXhH,KAAKY,SAASkD,EAAIkD,IAY1BjD,GAEI+C,IAAK,WAED,OAAO9G,KAAKY,SAASmD,GAIzBgD,IAAK,SAAUC,GAEXhH,KAAKY,SAASmD,EAAIiD,IAW1BC,cAEIH,IAAK,WAED,GAAK9G,KAAKkB,QAKV,CACI,IAAIgG,EAAOlH,KAAKqB,OAEhB,IAAK6F,EAED,OAAOlH,KAAKkB,QAIZ,EACA,CACI,IAAKgG,EAAKhG,QAEN,OAAO,EAGXgG,EAAOA,EAAK7F,aAET6F,GAIX,OAAO,EAzBP,OAAO,IAyCnBC,MAEIL,IAAK,WAED,OAAO9G,KAAKmC,OAIhB4E,IAAK,SAAUC,GAEPhH,KAAKmC,QAELnC,KAAKmC,MAAMiF,QAAS,GAGxBpH,KAAKmC,MAAQ6E,EAETA,IAEAhH,KAAKmC,MAAMiF,QAAS,KAoBhCX,SAEIK,IAAK,WAED,OAAO9G,KAAKwG,UAIhBO,IAAK,SAAUC,GAEX,GAAIK,MAAMC,QAAQN,GAClB,CAII,IAAK,IAFDO,KAEK7E,EAAI,EAAGA,EAAIsE,EAAMrE,OAAQD,IAI9B,IAAK,IAFD8E,EAAeR,EAAMtE,GAAG6E,OAEnBE,EAAI,EAAGA,EAAID,EAAa7E,OAAQ8E,IAErCF,EAAOG,KAAKF,EAAaC,IAKjCzH,KAAK2H,cAAiBC,OAAQ5H,KAAMwH,aAAcD,GAGtDvH,KAAKwG,SAAWQ,EAEZhH,KAAK6H,WAAa7H,KAAK6H,YAAcrJ,EAAKsJ,WAAWC,WAErD/H,KAAK6H,UAAYrJ,EAAKsJ,WAAWE,UAwB7CC,eAEInB,IAAK,WAED,OAAO9G,KAAKoC,gBAIhB2E,IAAK,SAAUC,GAEPhH,KAAKoC,iBAAmB4E,IAKxBA,EAEAhH,KAAKoF,wBAILpF,KAAK4C,uBAGT5C,KAAKoC,eAAiB4E,OAoBlCxI,EAAK0J,uBAAyB,WAE1B1J,EAAKmC,cAAc4D,KAAKvE,MASxBA,KAAKyC,YAWLzC,KAAKmI,kBAAmB,GAI5B3J,EAAK0J,uBAAuB5F,UAAYsE,OAAOwB,OAAQ5J,EAAKmC,cAAc2B,WAC1E9D,EAAK0J,uBAAuB5F,UAAUC,YAAc/D,EAAK0J,uBASzD1J,EAAK0J,uBAAuB5F,UAAU+F,SAAW,SAAUC,GAEvD,OAAOtI,KAAKuI,WAAWD,EAAOtI,KAAKyC,SAASE,SAYhDnE,EAAK0J,uBAAuB5F,UAAUiG,WAAa,SAAUD,EAAOE,GAEhE,GAAIA,GAAS,GAAKA,GAASxI,KAAKyC,SAASE,OAWrC,OATI2F,EAAMjH,QAENiH,EAAMjH,OAAOoH,YAAYH,GAG7BA,EAAMjH,OAASrB,KAEfA,KAAKyC,SAASiG,OAAOF,EAAO,EAAGF,GAExBA,EAIP,MAAM,IAAIK,MAAML,EAAQ,yBAA0BE,EAAO,8BAAgCxI,KAAKyC,SAASE,SAY/GnE,EAAK0J,uBAAuB5F,UAAUsG,aAAe,SAAUN,EAAOO,GAElE,GAAIP,IAAUO,EAAd,CAKA,IAAIC,EAAS9I,KAAK+I,cAAcT,GAC5BU,EAAShJ,KAAK+I,cAAcF,GAEhC,GAAIC,EAAS,GAAKE,EAAS,EAEvB,MAAM,IAAIL,MAAM,iFAGpB3I,KAAKyC,SAASqG,GAAUD,EACxB7I,KAAKyC,SAASuG,GAAUV,IAW5B9J,EAAK0J,uBAAuB5F,UAAUyG,cAAgB,SAAUT,GAE5D,IAAIE,EAAQxI,KAAKyC,SAASwG,QAAQX,GAElC,IAAe,IAAXE,EAEA,MAAM,IAAIG,MAAM,4DAGpB,OAAOH,GAWXhK,EAAK0J,uBAAuB5F,UAAU4G,cAAgB,SAAUZ,EAAOE,GAEnE,GAAIA,EAAQ,GAAKA,GAASxI,KAAKyC,SAASE,OAEpC,MAAM,IAAIgG,MAAM,uCAGpB,IAAIQ,EAAenJ,KAAK+I,cAAcT,GAEtCtI,KAAKyC,SAASiG,OAAOS,EAAc,GACnCnJ,KAAKyC,SAASiG,OAAOF,EAAO,EAAGF,IAWnC9J,EAAK0J,uBAAuB5F,UAAU8G,WAAa,SAAUZ,GAEzD,GAAIA,EAAQ,GAAKA,GAASxI,KAAKyC,SAASE,OAEpC,MAAM,IAAIgG,MAAM,8BAA+BH,EAAO,kGAG1D,OAAOxI,KAAKyC,SAAS+F,IAWzBhK,EAAK0J,uBAAuB5F,UAAUmG,YAAc,SAAUH,GAE1D,IAAIE,EAAQxI,KAAKyC,SAASwG,QAAQX,GAElC,IAAe,IAAXE,EAKJ,OAAOxI,KAAKqJ,cAAcb,IAW9BhK,EAAK0J,uBAAuB5F,UAAU+G,cAAgB,SAAUb,GAE5D,IAAIF,EAAQtI,KAAKoJ,WAAWZ,GAS5B,OAPIF,IAEAA,EAAMjH,YAASiF,EAEftG,KAAKyC,SAASiG,OAAOF,EAAO,IAGzBF,GAWX9J,EAAK0J,uBAAuB5F,UAAUgH,eAAiB,SAAUC,EAAYC,QAEtDlD,IAAfiD,IAA4BA,EAAa,QAC5BjD,IAAbkD,IAA0BA,EAAWxJ,KAAKyC,SAASE,QAEvD,IAAI8G,EAAQD,EAAWD,EAEvB,GAAIE,EAAQ,GAAKA,GAASD,EAC1B,CAGI,IAAK,IAFDE,EAAU1J,KAAKyC,SAASiG,OAAOa,EAAYE,GAEtC/G,EAAI,EAAGA,EAAIgH,EAAQ/G,OAAQD,IAEpBgH,EAAQhH,GACdrB,YAASiF,EAGnB,OAAOoD,EAEN,GAAc,IAAVD,GAAwC,IAAzBzJ,KAAKyC,SAASE,OAElC,SAIA,MAAM,IAAIgG,MAAO,iFAWzBnK,EAAK0J,uBAAuB5F,UAAUO,gBAAkB,WAEpD,GAAK7C,KAAKkB,UAKVlB,KAAK2G,gCAED3G,KAAKoC,gBAKT,IAAK,IAAIM,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGG,mBAMzBrE,EAAK0J,uBAAuB5F,UAAUqH,sCAAwCnL,EAAK0J,uBAAuB5F,UAAUO,gBASpHrE,EAAK0J,uBAAuB5F,UAAUsH,UAAY,SAAUC,GAExD,IAAIC,EAAwCD,GAAyBA,aAAiCrL,EAAKmC,cACvGoJ,GAAsC,EAErCD,EAMDC,EAFEF,aAAiCrL,EAAK0J,wBAEF2B,EAAsBG,SAAShK,MAJrE6J,EAAwB7J,KAW5B,IAAI0C,EAEJ,GAAIoH,EACJ,CACI,IAAIG,EAAcJ,EAAsBtI,eAIxC,IAFAsI,EAAsBtI,eAAiBC,OAAO0I,eAEzCxH,EAAI,EAAGA,EAAImH,EAAsBpH,SAASE,OAAQD,IAEnDmH,EAAsBpH,SAASC,GAAGG,kBAI1C,IAMIsH,EACAC,EACAC,EARAC,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEPE,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAMRI,GAAe,EAEnB,IAAKjI,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtB1C,KAAKyC,SAASC,GAEfxB,UAKXyJ,GAAe,EAIfL,EAAQA,GAFRH,EAAcnK,KAAKyC,SAASC,GAAGkH,aAEJ9F,EAAKwG,EAAOH,EAAYrG,EACnD0G,EAAQA,EAAOL,EAAYpG,EAAKyG,EAAOL,EAAYpG,EAEnDqG,EAAYD,EAAYvM,MAAQuM,EAAYrG,EAC5CuG,EAAYF,EAAYtM,OAASsM,EAAYpG,EAE7C0G,EAAQA,EAAOL,EAAaK,EAAOL,EACnCM,EAAQA,EAAOL,EAAaK,EAAOL,GAGvC,IAAIxF,EAAS7E,KAAKgC,QAElB,IAAK2I,EACR,CAGO,IAAIC,GAFJ/F,EAAS,IAAIrG,EAAKyD,WAEF6B,EACZ+G,EAAKhG,EAAOjH,MAAQiH,EAAOf,EAE3BgH,EAAKjG,EAAOd,EACZgH,EAAKlG,EAAOhH,OAASgH,EAAOd,EAE5BxC,EAAiBvB,KAAKuB,eAEtB0B,EAAI1B,EAAe0B,EACnBC,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAK9B,EAAe8B,GACpBC,EAAK/B,EAAe+B,GAEpB0H,EAAK/H,EAAI4H,EAAK1H,EAAI4H,EAAK1H,EACvB4H,EAAK7H,EAAI2H,EAAK7H,EAAI2H,EAAKvH,EAEvB4H,EAAKjI,EAAI2H,EAAKzH,EAAI4H,EAAK1H,EACvB8H,EAAK/H,EAAI2H,EAAK7H,EAAI0H,EAAKtH,EAEvB8H,EAAKnI,EAAI2H,EAAKzH,EAAI2H,EAAKzH,EACvBgI,EAAKjI,EAAI0H,EAAK5H,EAAI0H,EAAKtH,EAEvBgI,EAAKrI,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EACvBkI,EAAKnI,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EAE3BmH,EAAOO,EACPN,EAAOO,EAGPT,EAAOS,EAIPX,EAAOgB,GADPhB,EAAOc,GADPd,EAAOY,GAHPZ,EAAOU,GAGYE,EAAKZ,GACLc,EAAKd,GACLgB,EAAKhB,EAIxBE,EAAOe,GADPf,EAAOa,GADPb,EAAOW,EAAKX,EAAOW,EAAKX,GACLa,EAAKb,GACLe,EAAKf,EAIxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,EAAKT,EAAOS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAIxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,EAAKT,EAAOS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAQ5B,GALA7F,EAAOf,EAAIwG,EACXzF,EAAOd,EAAIyG,EACX3F,EAAOjH,MAAQ6M,EAAOH,EACtBzF,EAAOhH,OAAS6M,EAAOF,EAEnBV,EAIA,IAFAD,EAAsBtI,eAAiB0I,EAElCvH,EAAI,EAAGA,EAAImH,EAAsBpH,SAASE,OAAQD,IAEnDmH,EAAsBpH,SAASC,GAAGG,kBAI1C,IAAKkH,EACR,CACO,IAAIyB,EAA8B3B,EAAsBD,YAExD/E,EAAOf,GAAK0H,EAA4B1H,EACxCe,EAAOd,GAAKyH,EAA4BzH,EAG5C,OAAOc,GAUXrG,EAAK0J,uBAAuB5F,UAAUwC,eAAiB,WAEnD,OAAO9E,KAAK4J,UAAU5J,OAW1BxB,EAAK0J,uBAAuB5F,UAAU0H,SAAW,SAAU1B,GAEvD,QAAKA,IAIIA,IAAUtI,MAMRA,KAAKgK,SAAS1B,EAAMjH,UAWnC7C,EAAK0J,uBAAuB5F,UAAUwD,aAAe,SAAUH,GAE3D,GAAK3F,KAAKkB,WAAWlB,KAAKiB,OAAS,GAKnC,GAAIjB,KAAKoC,eAELpC,KAAK0F,oBAAoBC,OAF7B,CAMA,IAAIjD,EAEJ,GAAI1C,KAAKmC,OAASnC,KAAKwG,SACvB,CAgBI,IAdIxG,KAAKwG,WAELb,EAAc8F,YAAYC,QAC1B/F,EAAcgG,cAAcC,WAAW5L,KAAK2H,eAG5C3H,KAAKmC,QAELwD,EAAc8F,YAAYI,OAC1BlG,EAAcmG,YAAYC,SAAS/L,KAAKmH,KAAMxB,GAC9CA,EAAc8F,YAAYO,SAIzBtJ,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGoD,aAAaH,GAGlCA,EAAc8F,YAAYI,OAEtB7L,KAAKmC,OAAOwD,EAAcmG,YAAYG,QAAQjM,KAAKmC,MAAOwD,GAC1D3F,KAAKwG,UAAUb,EAAcgG,cAAcO,YAE/CvG,EAAc8F,YAAYO,aAK1B,IAAKtJ,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGoD,aAAaH,KAa1CnH,EAAK0J,uBAAuB5F,UAAUyD,cAAgB,SAAUJ,GAE5D,IAAqB,IAAjB3F,KAAKkB,SAAoC,IAAflB,KAAKiB,MAKnC,GAAIjB,KAAKoC,eAELpC,KAAK0F,oBAAoBC,OAF7B,CAMI3F,KAAKmC,OAELwD,EAAcmG,YAAYC,SAAS/L,KAAKmC,MAAOwD,GAGnD,IAAK,IAAIjD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,cAAcJ,GAG/B3F,KAAKmC,OAELwD,EAAcmG,YAAYG,QAAQtG,KAW1CiB,OAAOuF,eAAe3N,EAAK0J,uBAAuB5F,UAAW,SAEzDwE,IAAK,WACD,OAAO9G,KAAK8E,iBAAiBlH,MAAQoC,KAAKc,MAAMgD,GAGpDiD,IAAK,SAASC,GAEV,IAAIpJ,EAAQoC,KAAK8E,iBAAiBlH,MAI9BoC,KAAKc,MAAMgD,EAFD,IAAVlG,EAEeoJ,EAAQpJ,EAIR,EAGnBoC,KAAKoM,OAASpF,KAUtBJ,OAAOuF,eAAe3N,EAAK0J,uBAAuB5F,UAAW,UAEzDwE,IAAK,WACD,OAAO9G,KAAK8E,iBAAiBjH,OAASmC,KAAKc,MAAMiD,GAGrDgD,IAAK,SAASC,GAEV,IAAInJ,EAASmC,KAAK8E,iBAAiBjH,OAI/BmC,KAAKc,MAAMiD,EAFA,IAAXlG,EAEemJ,EAAQnJ,EAIR,EAGnBmC,KAAKqM,QAAUrF,KAiBvBxI,EAAKqH,OAAS,SAAU9H,GAEpBS,EAAK0J,uBAAuB3D,KAAKvE,MAajCA,KAAK0G,OAAS,IAAIlI,EAAKqC,MAAMrC,EAAKqH,OAAOyG,cAAcxI,EAAGtF,EAAKqH,OAAOyG,cAAcvI,GAQpF/D,KAAKjC,QAAUA,GAAWS,EAAK+N,QAAQC,aASvCxM,KAAKoM,OAAS,EASdpM,KAAKqM,QAAU,EASfrM,KAAKyM,KAAO,SAUZzM,KAAK0M,YAAc,EASnB1M,KAAK2M,cAAgB,KAWrB3M,KAAK6H,UAAYrJ,EAAKsJ,WAAWE,OAUjChI,KAAK4M,OAAS,KASd5M,KAAK6M,QAAS,EAEV7M,KAAKjC,QAAQoI,YAAY2G,WAEzB9M,KAAK+M,kBAGT/M,KAAKoB,YAAa,GAStB5C,EAAKqH,OAAOyG,eAAiBxI,EAAG,EAAGC,EAAG,GAGtCvF,EAAKqH,OAAOvD,UAAYsE,OAAOwB,OAAO5J,EAAK0J,uBAAuB5F,WAClE9D,EAAKqH,OAAOvD,UAAUC,YAAc/D,EAAKqH,OAQzCe,OAAOuF,eAAe3N,EAAKqH,OAAOvD,UAAW,SAEzCwE,IAAK,WACD,OAAO9G,KAAKc,MAAMgD,EAAI9D,KAAKjC,QAAQiP,MAAMpP,OAG7CmJ,IAAK,SAASC,GACVhH,KAAKc,MAAMgD,EAAIkD,EAAQhH,KAAKjC,QAAQiP,MAAMpP,MAC1CoC,KAAKoM,OAASpF,KAWtBJ,OAAOuF,eAAe3N,EAAKqH,OAAOvD,UAAW,UAEzCwE,IAAK,WACD,OAAQ9G,KAAKc,MAAMiD,EAAI/D,KAAKjC,QAAQiP,MAAMnP,QAG9CkJ,IAAK,SAASC,GACVhH,KAAKc,MAAMiD,EAAIiD,EAAQhH,KAAKjC,QAAQiP,MAAMnP,OAC1CmC,KAAKqM,QAAUrF,KAavBxI,EAAKqH,OAAOvD,UAAU2K,WAAa,SAASlP,EAASmP,GAE7CA,GAEAlN,KAAKjC,QAAQoI,YAAY3D,UAI7BxC,KAAKjC,QAAQoI,YAAYgH,YAAa,EACtCnN,KAAKjC,QAAUA,EACfiC,KAAKjC,QAAQqP,OAAQ,EACrBpN,KAAK0M,YAAc,GAUvBlO,EAAKqH,OAAOvD,UAAUyK,gBAAkB,WAGhC/M,KAAKoM,SAAQpM,KAAKc,MAAMgD,EAAI9D,KAAKoM,OAASpM,KAAKjC,QAAQiP,MAAMpP,OAC7DoC,KAAKqM,UAASrM,KAAKc,MAAMiD,EAAI/D,KAAKqM,QAAUrM,KAAKjC,QAAQiP,MAAMnP,SAkBvEW,EAAKqH,OAAOvD,UAAUsH,UAAY,SAASyD,GAEvC,IAAIzP,EAAQoC,KAAKjC,QAAQiP,MAAMpP,MAC3BC,EAASmC,KAAKjC,QAAQiP,MAAMnP,OAE5B+M,EAAKhN,GAAS,EAAEoC,KAAK0G,OAAO5C,GAC5B+G,EAAKjN,GAASoC,KAAK0G,OAAO5C,EAE1BgH,EAAKjN,GAAU,EAAEmC,KAAK0G,OAAO3C,GAC7BgH,EAAKlN,GAAUmC,KAAK0G,OAAO3C,EAE3BxC,EAAiB8L,GAAUrN,KAAKuB,eAEhC0B,EAAI1B,EAAe0B,EACnBC,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAK9B,EAAe8B,GACpBC,EAAK/B,EAAe+B,GAEpBmH,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEX,GAAU,IAANrH,GAAiB,IAANC,EACf,CAEI,GAAIF,EAAI,EACR,CACIA,IAAM,EACFqK,EAAO1C,EACXA,GAAMC,EACNA,GAAMyC,EAGV,GAAIlK,EAAI,EACR,CACIA,IAAM,EACN,IAAIkK,EAAOxC,EACXA,GAAMC,EACNA,GAAMuC,EAKVhD,EAAOrH,EAAI4H,EAAKxH,EAChBoH,EAAOxH,EAAI2H,EAAKvH,EAChBmH,EAAOpH,EAAI2H,EAAKzH,EAChBoH,EAAOtH,EAAI0H,EAAKxH,MAGpB,CACI,IAAI0H,EAAK/H,EAAI4H,EAAK1H,EAAI4H,EAAK1H,EACvB4H,EAAK7H,EAAI2H,EAAK7H,EAAI2H,EAAKvH,EAEvB4H,EAAKjI,EAAI2H,EAAKzH,EAAI4H,EAAK1H,EACvB8H,EAAK/H,EAAI2H,EAAK7H,EAAI0H,EAAKtH,EAEvB8H,EAAKnI,EAAI2H,EAAKzH,EAAI2H,EAAKzH,EACvBgI,EAAKjI,EAAI0H,EAAK5H,EAAI0H,EAAKtH,EAEvBgI,EAAMrI,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EACxBkI,EAAMnI,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EAK5BgH,EAAOgB,GADPhB,EAAOc,GADPd,EAAOY,GADPZ,EAAOU,EAAKV,EAAOU,EAAKV,GACLY,EAAKZ,GACLc,EAAKd,GACLgB,EAAKhB,EAKxBE,EAAOe,GADPf,EAAOa,GADPb,EAAOW,GADPX,EAAOS,EAAKT,EAAOS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,GACLe,EAAKf,EAKxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,GADPT,EAAOO,EAAKP,EAAOO,EAAKP,GACLS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAKxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,GADPT,EAAOO,EAAKP,EAAOO,EAAKP,GACLS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAG5B,IAAI7F,EAAS7E,KAAKgC,QAWlB,OATA6C,EAAOf,EAAIwG,EACXzF,EAAOjH,MAAQ6M,EAAOH,EAEtBzF,EAAOd,EAAIyG,EACX3F,EAAOhH,OAAS6M,EAAOF,EAGvBxK,KAAKkC,eAAiB2C,EAEfA,GASXrG,EAAKqH,OAAOvD,UAAUwC,eAAiB,WAEnC,IAAImF,EAAcjK,KAAKuB,eAEvBvB,KAAKuB,eAAiBC,OAAO0I,eAE7B,IAAK,IAAIxH,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGG,kBAGrB,IAAIgC,EAAS7E,KAAK4J,YAIlB,IAFA5J,KAAKuB,eAAiB0I,EAEjBvH,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGG,kBAGrB,OAAOgC,GAYXrG,EAAKqH,OAAOvD,UAAUwD,aAAe,SAASH,EAAe0H,GAGzD,GAAKrN,KAAKkB,WAAWlB,KAAKiB,OAAS,IAAMjB,KAAKoB,WAA9C,CAGA,IAAIoC,EAAKxD,KAAKuB,eAQd,GANI8L,IAEA7J,EAAK6J,GAILrN,KAAKmC,OAASnC,KAAKwG,SACvB,CACI,IAAIiF,EAAc9F,EAAc8F,YAG5BzL,KAAKwG,WAELiF,EAAYC,QACZ/F,EAAcgG,cAAcC,WAAW5L,KAAK2H,eAG5C3H,KAAKmC,QAELsJ,EAAYI,OACZlG,EAAcmG,YAAYC,SAAS/L,KAAKmH,KAAMxB,GAC9C8F,EAAYO,SAIhBP,EAAYvG,OAAOlF,MAGnB,IAAS0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGoD,aAAaH,GAIlC8F,EAAYI,OAER7L,KAAKmC,OAAOwD,EAAcmG,YAAYG,QAAQjM,KAAKmC,MAAOwD,GAC1D3F,KAAKwG,UAAUb,EAAcgG,cAAcO,YAE/CT,EAAYO,YAGhB,CACIrG,EAAc8F,YAAYvG,OAAOlF,MAGjC,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGoD,aAAaH,EAAenC,MAczDhF,EAAKqH,OAAOvD,UAAUyD,cAAgB,SAASJ,EAAe0H,GAG1D,MAAKrN,KAAKkB,SAA0B,IAAflB,KAAKiB,QAAgBjB,KAAKoB,YAAcpB,KAAKjC,QAAQwP,KAAK3P,OAAS,GAAKoC,KAAKjC,QAAQwP,KAAK1P,QAAU,GAAzH,CAKA,IAAI2F,EAAKxD,KAAKuB,eAoBd,GAjBI8L,IAEA7J,EAAK6J,GAGLrN,KAAK6H,YAAclC,EAAc6H,mBAEjC7H,EAAc6H,iBAAmBxN,KAAK6H,UACtClC,EAAc8H,QAAQC,yBAA2BlP,EAAKmP,iBAAiBhI,EAAc6H,mBAGrFxN,KAAKmC,OAELwD,EAAcmG,YAAYC,SAAS/L,KAAKmC,MAAOwD,GAI9C3F,KAAKjC,QAAQqP,MAAlB,CAgBA,IAAIzI,EAAa3E,KAAKjC,QAAQoI,YAAYxB,WAAagB,EAAchB,WAErEgB,EAAc8H,QAAQG,YAAc5N,KAAKsB,WAGrCqE,EAAckI,gBAAkBlI,EAAc7H,YAAckC,KAAKjC,QAAQoI,YAAYrI,YAErF6H,EAAc7H,UAAYkC,KAAKjC,QAAQoI,YAAYrI,UACnD6H,EAAc8H,QAAQ9H,EAAckI,gBAAmBlI,EAAc7H,YAAcU,EAAKC,WAAWC,QAIvG,IAAIoP,EAAM9N,KAAKjC,QAAY,KAAIiC,KAAKjC,QAAQgQ,KAAKjK,EAAI9D,KAAK0G,OAAO5C,EAAI9D,KAAKjC,QAAQgQ,KAAKnQ,MAAQoC,KAAK0G,OAAO5C,GAAK9D,KAAKjC,QAAQiP,MAAMpP,MAC/HoQ,EAAMhO,KAAKjC,QAAY,KAAIiC,KAAKjC,QAAQgQ,KAAKhK,EAAI/D,KAAK0G,OAAO3C,EAAI/D,KAAKjC,QAAQgQ,KAAKlQ,OAASmC,KAAK0G,OAAO3C,GAAK/D,KAAKjC,QAAQiP,MAAMnP,OAEhIwF,EAAMG,EAAGH,GAAKsC,EAAchB,WAAcgB,EAAcsI,OACxD3K,EAAME,EAAGF,GAAKqC,EAAchB,WAAcgB,EAAcuI,OAExDC,EAAKnO,KAAKjC,QAAQwP,KAAK3P,MACvBwQ,EAAKpO,KAAKjC,QAAQwP,KAAK1P,OAE3B,GAAImC,KAAKjC,QAAQsQ,QACjB,CACI,IAAIpL,EAAIO,EAAGP,EACPC,EAAIM,EAAGN,EACPC,EAAIK,EAAGL,EACPC,EAAII,EAAGJ,EACPkL,EAAIH,EAGR9K,EAAKG,EAAGL,EAAIiL,EAAK/K,EACjBC,EAAKE,EAAGJ,EAAIgL,EAAK9K,EAIjBE,EAAGP,EAAQ,sBAAJA,EAA6BE,EACpCK,EAAGN,EAAQ,sBAAJA,EAA6BE,EACpCI,EAAGL,EAAIF,EAAQ,sBAAJE,EACXK,EAAGJ,EAAIF,EAAQ,sBAAJE,EAGX+K,EAAKC,EACLA,EAAKE,EAkBT,GAdI3I,EAAc4I,aAEd5I,EAAc8H,QAAQe,aAAahL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAQ,EAALC,EAAa,EAALC,GACnEwK,GAAM,EACNE,GAAM,GAINrI,EAAc8H,QAAQe,aAAahL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAGC,EAAIC,GAGnEwK,GAAMnJ,EACNqJ,GAAMrJ,EAEY,WAAd3E,KAAKyM,MAEDzM,KAAKjC,QAAQ0Q,gBAAkBzO,KAAK0M,aAAe1M,KAAKyM,QAExDzM,KAAK2M,cAAgBnO,EAAKkQ,aAAaC,iBAAiB3O,KAAMA,KAAKyM,MAEnEzM,KAAK0M,WAAa1M,KAAKyM,KACvBzM,KAAKjC,QAAQ0Q,gBAAiB,GAGlC9I,EAAc8H,QAAQmB,UAAU5O,KAAK2M,cAAe,EAAG,EAAGwB,EAAIC,EAAIN,EAAIE,EAAIG,EAAKxJ,EAAYyJ,EAAKzJ,OAGpG,CACI,IAAIkK,EAAK7O,KAAKjC,QAAQwP,KAAKzJ,EACvBgL,EAAK9O,KAAKjC,QAAQwP,KAAKxJ,EAE3BoK,EAAK1K,KAAKsL,MAAMZ,GAChBC,EAAK3K,KAAKsL,MAAMX,GAEhBzI,EAAc8H,QAAQmB,UAAU5O,KAAKjC,QAAQoI,YAAY6I,OAAQH,EAAIC,EAAIX,EAAIC,EAAIN,EAAIE,EAAIG,EAAKxJ,EAAYyJ,EAAKzJ,GAGnH,IAASjC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,cAAcJ,GAG/B3F,KAAKmC,OAELwD,EAAcmG,YAAYG,QAAQtG,OA1GtC,CAGI,IAAK,IAAIjD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,cAAcJ,GAG/B3F,KAAKmC,OAELwD,EAAcmG,YAAYG,QAAQtG,MA8G9CnH,EAAKyQ,mBAAqB,aAW1BzQ,EAAK0Q,oBAAsB,SAASvR,EAAIwR,GAEpC,OAAO3Q,EAAK4Q,eAAezR,EAAIwR,EAAWxR,EAAG0R,gBAUjD7Q,EAAK8Q,sBAAwB,SAAS3R,EAAIwR,GAEtC,OAAO3Q,EAAK4Q,eAAezR,EAAIwR,EAAWxR,EAAG4R,kBAYjD/Q,EAAK4Q,eAAiB,SAASzR,EAAIwR,EAAWK,GAE1C,IAAIC,EAAMN,EAEN9H,MAAMC,QAAQ6H,KAEdM,EAAMN,EAAUO,KAAK,OAGzB,IAAI9C,EAASjP,EAAGgS,aAAaH,GAI7B,OAHA7R,EAAGiS,aAAahD,EAAQ6C,GACxB9R,EAAGkS,cAAcjD,GAEZjP,EAAGmS,mBAAmBlD,EAAQjP,EAAGoS,gBAM/BnD,GAJHoD,OAAO1P,QAAQ2P,IAAItS,EAAGuS,iBAAiBtD,IAChC,OAcfpO,EAAK2R,eAAiB,SAASxS,EAAIyS,EAAWC,GAE1C,IAAIC,EAAiB9R,EAAK8Q,sBAAsB3R,EAAI0S,GAChDE,EAAe/R,EAAK0Q,oBAAoBvR,EAAIyS,GAE5CI,EAAgB7S,EAAG8S,gBAYvB,OAVA9S,EAAG+S,aAAaF,EAAeD,GAC/B5S,EAAG+S,aAAaF,EAAeF,GAC/B3S,EAAGgT,YAAYH,GAEV7S,EAAGiT,oBAAoBJ,EAAe7S,EAAGkT,eAE1Cb,OAAO1P,QAAQ2P,IAAItS,EAAGmT,kBAAkBN,IACxCR,OAAO1P,QAAQ2P,IAAI,iCAGhBO,GAaXhS,EAAKuS,WAAa,SAASpT,GAOvBqC,KAAKgR,KAAOxP,OAAOwP,OAMnBhR,KAAKrC,GAAKA,EAOVqC,KAAKiR,QAAU,KAOfjR,KAAKqQ,YAAc,KAOnBrQ,KAAKkR,aAAe,EAQpBlR,KAAKmR,UAAW,EAOhBnR,KAAKoR,OAAQ,EAQbpR,KAAKqR,cAELrR,KAAKsR,QAGT9S,EAAKuS,WAAWzO,UAAUC,YAAc/D,EAAKuS,WAE7CvS,EAAKuS,WAAWzO,UAAUiP,mBAAqB,WAC3C,IAAI5T,EAAKqC,KAAKrC,GACdqC,KAAKwR,aAAe7T,EAAG8T,aAAa9T,EAAG+T,yBAEvC,IAAK,IADDC,EAAa,8GACRnJ,EAAQ,EAAGA,EAAQxI,KAAKwR,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,+CACRA,EAAQ,wCAExBxI,KAAKqQ,aACD,iCACA,wBACA,+FACA,8BACA,uBACA,+BACA,mCAAqCrQ,KAAKwR,aAAe,KAGzD,8CAGA,6CACA,oBACAG,EACA,0BAA4B3R,KAAKwR,aAAe,qCAChD,4DACA,KAGJ,IAAIP,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,WAAa5R,EAAKuS,WAAWa,iBAAkB5R,KAAKqQ,aAE/F1S,EAAGkU,WAAWZ,GAIdjR,KAAK8R,cAAgBnU,EAAGoU,mBAAmBd,EAAS,oBACpDjR,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAKkS,WAAavU,EAAGoU,mBAAmBd,EAAS,cAGjDjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBACrDjR,KAAKqS,cAAgB1U,EAAGyU,kBAAkBnB,EAAS,iBACnDjR,KAAKsS,eAAiB3U,EAAGyU,kBAAkBnB,EAAS,UACpDjR,KAAKuS,cAAgB5U,EAAGyU,kBAAkBnB,EAAS,iBAEnD,IAAIuB,KAEAC,EAAc9U,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9B9U,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAG+U,IAAK,EAAG,EAAG,EAAG/U,EAAG+U,IAAK/U,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAKwR,eAAgB9O,EACrC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9BD,EAAQ9K,KAAKhF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGgV,WAAW3S,KAAK8R,cAAeU,IAQN,IAAzBxS,KAAKsS,iBAEJtS,KAAKsS,eAAiB,GAG1BtS,KAAKqR,YAAcrR,KAAKmS,gBAAiBnS,KAAKqS,cAAerS,KAAKsS,eAAgBtS,KAAKuS,eAKvF,IAAK,IAAIK,KAAO5S,KAAK6S,SAGjB7S,KAAK6S,SAASD,GAAKE,gBAAkBnV,EAAGoU,mBAAmBd,EAAS2B,GAGxE5S,KAAK+S,eAEL/S,KAAKiR,QAAUA,GAGnBzS,EAAKuS,WAAWzO,UAAU0Q,kBAAoB,WAEjB,OAArBhT,KAAKqQ,cACLrQ,KAAKqQ,aACD,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,kEACA,MAIR,IAAI1S,EAAKqC,KAAKrC,GAEVsT,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,WAAa5R,EAAKuS,WAAWa,iBAAkB5R,KAAKqQ,aAE/F1S,EAAGkU,WAAWZ,GAGdjR,KAAKiT,SAAWtV,EAAGoU,mBAAmBd,EAAS,YAC/CjR,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAKkS,WAAavU,EAAGoU,mBAAmBd,EAAS,cAGjDjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBACrDjR,KAAKqS,cAAgB1U,EAAGyU,kBAAkBnB,EAAS,iBACnDjR,KAAKsS,eAAiB3U,EAAGyU,kBAAkBnB,EAAS,UACpDjR,KAAKuS,cAAgB5U,EAAGyU,kBAAkBnB,EAAS,kBASvB,IAAzBjR,KAAKsS,iBAEJtS,KAAKsS,eAAiB,GAG1BtS,KAAKqR,YAAcrR,KAAKmS,gBAAiBnS,KAAKqS,cAAerS,KAAKsS,eAAgBtS,KAAKuS,eAKvF,IAAK,IAAIK,KAAO5S,KAAK6S,SAGjB7S,KAAK6S,SAASD,GAAKE,gBAAkBnV,EAAGoU,mBAAmBd,EAAS2B,GAGxE5S,KAAK+S,eAEL/S,KAAKiR,QAAUA,GAOnBzS,EAAKuS,WAAWzO,UAAUgP,KAAO,SAAS4B,GAElC1U,EAAK4H,4BAA8B8M,EACnClT,KAAKuR,qBAELvR,KAAKgT,qBAYbxU,EAAKuS,WAAWzO,UAAUyQ,aAAe,WAErC/S,KAAKkR,aAAe,EACpB,IACIiC,EADAxV,EAAKqC,KAAKrC,GAGd,IAAK,IAAIiV,KAAO5S,KAAK6S,SACrB,CAGI,IAAIO,GAFJD,EAAUnT,KAAK6S,SAASD,IAELQ,KAEN,cAATA,GAEAD,EAAQE,OAAQ,EAEM,OAAlBF,EAAQnM,OAERhH,KAAKsT,cAAcH,IAGT,SAATC,GAA4B,SAATA,GAA4B,SAATA,GAG3CD,EAAQI,UAAW,EACnBJ,EAAQK,cAAgB,EAEX,SAATJ,EAEAD,EAAQM,OAAS9V,EAAG+V,iBAEN,SAATN,EAELD,EAAQM,OAAS9V,EAAGgW,iBAEN,SAATP,IAELD,EAAQM,OAAS9V,EAAGiW,oBAMxBT,EAAQM,OAAS9V,EAAG,UAAYyV,GAI5BD,EAAQK,cAFC,OAATJ,GAA0B,OAATA,EAEO,EAEV,OAATA,GAA0B,OAATA,EAEE,EAEV,OAATA,GAA0B,OAATA,EAEE,EAIA,KAYxC5U,EAAKuS,WAAWzO,UAAUgR,cAAgB,SAASH,GAE/C,GAAKA,EAAQnM,OAAUmM,EAAQnM,MAAMb,aAAgBgN,EAAQnM,MAAMb,YAAY2G,UAA/E,CAKA,IAAInP,EAAKqC,KAAKrC,GAOd,GAJAA,EAAG6B,cAAc7B,EAAG8B,SAAWO,KAAKkR,cACpCvT,EAAGM,YAAYN,EAAGO,WAAYiV,EAAQnM,MAAMb,YAAY0N,YAAYlW,EAAGmW,KAGnEX,EAAQY,YACZ,CACI,IAAIC,EAAOb,EAAQY,YAYfE,EAAaD,EAAc,UAAIA,EAAKC,UAAYtW,EAAGe,OACnDwV,EAAaF,EAAc,UAAIA,EAAKE,UAAYvW,EAAGe,OACnDyV,EAASH,EAAU,MAAIA,EAAKG,MAAQxW,EAAGU,cACvC+V,EAASJ,EAAU,MAAIA,EAAKI,MAAQzW,EAAGU,cACvCgW,EAAUL,EAAc,UAAIrW,EAAG2W,UAAY3W,EAAGmB,KAUlD,GARIkV,EAAKO,SAELJ,EAAQxW,EAAG6W,OACXJ,EAAQzW,EAAG6W,QAGf7W,EAAG8W,YAAY9W,EAAG+W,sBAAuBV,EAAKW,OAE1CX,EAAKpW,MACT,CACI,IAAIA,EAASoW,EAAU,MAAIA,EAAKpW,MAAQ,IACpCC,EAAUmW,EAAW,OAAIA,EAAKnW,OAAS,EACvC+W,EAAUZ,EAAW,OAAIA,EAAKY,OAAS,EAG3CjX,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGmW,EAAQzW,EAAOC,EAAQ+W,EAAQP,EAAQ1W,EAAGoB,cAAe,WAKzFpB,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGmW,EAAQ1W,EAAGmB,KAAMnB,EAAGoB,cAAeoU,EAAQnM,MAAMb,YAAY6I,QAGjGrR,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoB0V,GACvDtW,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBsV,GACvDvW,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgB+V,GACnDxW,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgB8V,GAGvDzW,EAAGkX,UAAU1B,EAAQL,gBAAiB9S,KAAKkR,cAE3CiC,EAAQE,OAAQ,EAEhBrT,KAAKkR,iBAST1S,EAAKuS,WAAWzO,UAAUwS,aAAe,WAErC9U,KAAKkR,aAAe,EACpB,IAAIiC,EACAxV,EAAKqC,KAAKrC,GAGd,IAAK,IAAIiV,KAAO5S,KAAK6S,SAGa,KAD9BM,EAAUnT,KAAK6S,SAASD,IACZY,eAEiB,IAArBL,EAAQI,SAERJ,EAAQM,OAAOlP,KAAK5G,EAAIwV,EAAQL,gBAAiBK,EAAQ4B,UAAW5B,EAAQnM,OAI5EmM,EAAQM,OAAOlP,KAAK5G,EAAIwV,EAAQL,gBAAiBK,EAAQnM,OAG9B,IAA1BmM,EAAQK,cAEbL,EAAQM,OAAOlP,KAAK5G,EAAIwV,EAAQL,gBAAiBK,EAAQnM,MAAMlD,EAAGqP,EAAQnM,MAAMjD,GAEjD,IAA1BoP,EAAQK,cAEbL,EAAQM,OAAOlP,KAAK5G,EAAIwV,EAAQL,gBAAiBK,EAAQnM,MAAMlD,EAAGqP,EAAQnM,MAAMjD,EAAGoP,EAAQnM,MAAMgO,GAElE,IAA1B7B,EAAQK,cAEbL,EAAQM,OAAOlP,KAAK5G,EAAIwV,EAAQL,gBAAiBK,EAAQnM,MAAMlD,EAAGqP,EAAQnM,MAAMjD,EAAGoP,EAAQnM,MAAMgO,EAAG7B,EAAQnM,MAAMiO,GAE5F,cAAjB9B,EAAQC,OAETD,EAAQE,OAER1V,EAAG6B,cAAc7B,EAAG,UAAYqC,KAAKkR,eAElCiC,EAAQnM,MAAMb,YAAY+O,OAAOvX,EAAGmW,IAEnCtV,EAAK2W,UAAUxX,EAAGmW,IAAIsB,cAAcjC,EAAQnM,MAAMb,aAKlDxI,EAAGM,YAAYN,EAAGO,WAAYiV,EAAQnM,MAAMb,YAAY0N,YAAYlW,EAAGmW,KAI3EnW,EAAGkX,UAAU1B,EAAQL,gBAAiB9S,KAAKkR,cAC3ClR,KAAKkR,gBAILlR,KAAKsT,cAAcH,KAYnC3U,EAAKuS,WAAWzO,UAAUE,QAAU,WAEhCxC,KAAKrC,GAAG0X,cAAerV,KAAKiR,SAC5BjR,KAAK6S,SAAW,KAChB7S,KAAKrC,GAAK,KAEVqC,KAAKqR,WAAa,MAStB7S,EAAKuS,WAAWa,kBACZ,8BACA,kCACA,kCACA,gCACA,yBACA,iCAEA,iCACA,6BAEA,8BACA,uBACA,+BAEA,uCAEA,oBACA,uDACA,qGACA,oCACA,qDACA,oCACA,KAYJpT,EAAK8W,eAAiB,SAAU3X,GAqB5B,GAfAqC,KAAKgR,KAAOxP,OAAOwP,OAMnBhR,KAAKrC,GAAKA,EAOVqC,KAAKiR,QAAU,KAEXzS,EAAK4H,0BAA2B,CAChC,IAAIzI,EAAKqC,KAAKrC,GACdqC,KAAKwR,aAAe7T,EAAG8T,aAAa9T,EAAG+T,yBAEvC,IAAK,IADDC,EAAa,8GACRnJ,EAAQ,EAAGA,EAAQxI,KAAKwR,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,gDACRA,EAAQ,wCAQxBxI,KAAKqQ,aACD,qCACA,wBACA,+FACA,8BACA,wBACA,+BACA,mCAAqCrQ,KAAKwR,aAAe,KAGzD,8CAGA,6CACA,oBACAG,EACA,0BAA4B3R,KAAKwR,aAAe,qCAChD,2DACA,UAGJxR,KAAKqQ,aACD,qCACA,wBACA,8BACA,wBACA,+BACA,8BACA,oBACA,iEACA,KASRrQ,KAAKoQ,WACD,mCACA,kCACA,iCACA,yBACA,6BACA,gCACA,0BACA,iCAEA,iCACA,6BACA,wBAEA,8BACA,wBACA,+BAEA,uCAEA,oBACA,aACA,yCACA,8DACA,8DACA,2DACA,uEACA,oCACA,oCAEA,sBACA,KAQJpQ,KAAKkR,aAAe,EAEpBlR,KAAKsR,QAGT9S,EAAK8W,eAAehT,UAAUC,YAAc/D,EAAK8W,eAOjD9W,EAAK8W,eAAehT,UAAUgP,KAAO,WAEjC,IAAI3T,EAAKqC,KAAKrC,GACVsT,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,UAAWpQ,KAAKqQ,aAS3D,GAPA1S,EAAGkU,WAAWZ,GAGdjR,KAAKiT,SAAWzU,EAAK4H,0BACAzI,EAAGoU,mBAAmBd,EAAS,oBAC/BtT,EAAGoU,mBAAmBd,EAAS,YAEhDzS,EAAK4H,0BAA2B,CAChC,IAAIoM,KAEAC,EAAc9U,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9B9U,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAG+U,IAAK,EAAG,EAAG,EAAG/U,EAAG+U,IAAK/U,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAKwR,eAAgB9O,EACrC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9BD,EAAQ9K,KAAKhF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGgV,WAAW3S,KAAKiT,SAAUT,GAGjCxS,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAKkS,WAAavU,EAAGoU,mBAAmBd,EAAS,cACjDjR,KAAKuV,QAAU5X,EAAGoU,mBAAmBd,EAAS,WAG9CjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBACrDjR,KAAKwV,eAAiB7X,EAAGyU,kBAAkBnB,EAAS,kBAEpDjR,KAAKyV,OAAS9X,EAAGyU,kBAAkBnB,EAAS,UAC5CjR,KAAK0V,UAAY/X,EAAGyU,kBAAkBnB,EAAS,aAE/CjR,KAAKqS,cAAgB1U,EAAGyU,kBAAkBnB,EAAS,iBACnDjR,KAAKsS,eAAiB3U,EAAGyU,kBAAkBnB,EAAS,UAEpDjR,KAAKuS,cAAgB5U,EAAGyU,kBAAkBnB,EAAS,kBAQtB,IAAzBjR,KAAKsS,iBACLtS,KAAKsS,eAAiB,GAG1BtS,KAAKqR,YACDrR,KAAKmS,gBACLnS,KAAKwV,eACLxV,KAAKyV,OACLzV,KAAK0V,UACL1V,KAAKqS,cACLrS,KAAKsS,eACLtS,KAAKuS,eAKTvS,KAAKiR,QAAUA,GAQnBzS,EAAK8W,eAAehT,UAAUE,QAAU,WACpCxC,KAAKrC,GAAG0X,cAAcrV,KAAKiR,SAC3BjR,KAAK6S,SAAW,KAChB7S,KAAKrC,GAAK,KAEVqC,KAAKqR,WAAa,MAYtB7S,EAAKmX,YAAc,SAAShY,GAsBxB,GAfAqC,KAAKgR,KAAOxP,OAAOwP,OAMnBhR,KAAKrC,GAAKA,EAOVqC,KAAKiR,QAAU,KAEXzS,EAAK4H,0BAA2B,CAChC,IAAIzI,EAAKqC,KAAKrC,GACdqC,KAAKwR,aAAe7T,EAAG8T,aAAa9T,EAAG+T,yBAEvC,IAAK,IADDC,EAAa,qGACRnJ,EAAQ,EAAGA,EAAQxI,KAAKwR,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,gDACRA,EAAQ,gCASxBxI,KAAKqQ,aACD,iCACA,2BACA,+FACA,8BACA,+BAEA,uBACA,mCAAqCrQ,KAAKwR,aAAe,KAGzD,8CAGA,6CACA,oBACAG,EACA,0BAA4B3R,KAAKwR,aAAe,qCAChD,2DACA,UAQJxR,KAAKqQ,aACD,iCACA,2BACA,8BACA,+BAEA,uBACA,8BACA,oBACA,wDACA,KASRrQ,KAAKoQ,WACD,+BACA,kCACA,gCACA,iCACA,kCACA,iCACA,6BAGA,8BACA,+BAGA,oBACA,+DACA,4BACA,qGACA,oCACA,oCAEA,KAGJpQ,KAAKsR,QAGT9S,EAAKmX,YAAYrT,UAAUC,YAAc/D,EAAKmX,YAO9CnX,EAAKmX,YAAYrT,UAAUgP,KAAO,WAE9B,IAAI3T,EAAKqC,KAAKrC,GACVsT,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,UAAWpQ,KAAKqQ,aAS3D,GARA1S,EAAGkU,WAAWZ,GAGdjR,KAAKiT,SAAWzU,EAAK4H,0BACAzI,EAAGoU,mBAAmBd,EAAS,oBAC/BtT,EAAGoU,mBAAmBd,EAAS,YAGhDzS,EAAK4H,0BAA2B,CAChC,IAAIoM,KAEAC,EAAc9U,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9B9U,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAG+U,IAAK,EAAG,EAAG,EAAG/U,EAAG+U,IAAK/U,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAKwR,eAAgB9O,EACrC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9BD,EAAQ9K,KAAKhF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGgV,WAAW3S,KAAKiT,SAAUT,GAGjCxS,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAKsS,eAAiB3U,EAAGyU,kBAAkBnB,EAAS,UACpDjR,KAAKuS,cAAgB5U,EAAGyU,kBAAkBnB,EAAS,iBAInDjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBACrDjR,KAAKqS,cAAgB1U,EAAGyU,kBAAkBnB,EAAS,iBAEnDjR,KAAKqR,YAAcrR,KAAKmS,gBAAiBnS,KAAKqS,cAAerS,KAAKuS,eAElEvS,KAAK4V,kBAAoBjY,EAAGoU,mBAAmBd,EAAS,qBACxDjR,KAAKiB,MAAQtD,EAAGoU,mBAAmBd,EAAS,SAE5CjR,KAAKiR,QAAUA,GAQnBzS,EAAKmX,YAAYrT,UAAUE,QAAU,WAEjCxC,KAAKrC,GAAG0X,cAAerV,KAAKiR,SAC5BjR,KAAK6S,SAAW,KAChB7S,KAAKrC,GAAK,KAEVqC,KAAK6V,UAAY,MAYrBrX,EAAKsX,gBAAkB,SAASnY,GAO5BqC,KAAKgR,KAAOxP,OAAOwP,OAMnBhR,KAAKrC,GAAKA,EAOVqC,KAAKiR,QAAU,KAOfjR,KAAKqQ,aACD,2BACA,uBAEA,oBACA,4BACA,KAQJrQ,KAAKoQ,WACD,kCACA,yBACA,kCACA,iCACA,6BACA,uBACA,uBACA,qBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,kDACA,KAGJpQ,KAAKsR,QAGT9S,EAAKsX,gBAAgBxT,UAAUC,YAAc/D,EAAKsX,gBAOlDtX,EAAKsX,gBAAgBxT,UAAUgP,KAAO,WAElC,IAAI3T,EAAKqC,KAAKrC,GAEVsT,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,UAAWpQ,KAAKqQ,aAC3D1S,EAAGkU,WAAWZ,GAGdjR,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAK+V,UAAYpY,EAAGoU,mBAAmBd,EAAS,QAChDjR,KAAK2U,MAAQhX,EAAGoU,mBAAmBd,EAAS,SAG5CjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBACrDjR,KAAKsS,eAAiB3U,EAAGyU,kBAAkBnB,EAAS,UAEpDjR,KAAKqR,YAAcrR,KAAKmS,gBAAiBnS,KAAKsS,gBAE9CtS,KAAK4V,kBAAoBjY,EAAGoU,mBAAmBd,EAAS,qBACxDjR,KAAKiB,MAAQtD,EAAGoU,mBAAmBd,EAAS,SAE5CjR,KAAKiR,QAAUA,GAQnBzS,EAAKsX,gBAAgBxT,UAAUE,QAAU,WAErCxC,KAAKrC,GAAG0X,cAAerV,KAAKiR,SAC5BjR,KAAK6S,SAAW,KAChB7S,KAAKrC,GAAK,KAEVqC,KAAKqR,WAAa,MAYtB7S,EAAKwX,uBAAyB,SAASrY,GAOnCqC,KAAKgR,KAAOxP,OAAOwP,OAMnBhR,KAAKrC,GAAKA,EAOVqC,KAAKiR,QAAU,KAOfjR,KAAKqQ,aAED,2BAEA,uBAEA,oBACA,4BACA,KAQJrQ,KAAKoQ,WACD,kCAEA,kCACA,iCACA,6BAEA,qBACA,uBACA,sBACA,uBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,iDACA,KAGJpQ,KAAKsR,QAGT9S,EAAKwX,uBAAuB1T,UAAUC,YAAc/D,EAAKwX,uBAOzDxX,EAAKwX,uBAAuB1T,UAAUgP,KAAO,WAEzC,IAAI3T,EAAKqC,KAAKrC,GAEVsT,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,UAAWpQ,KAAKqQ,aAC3D1S,EAAGkU,WAAWZ,GAGdjR,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAK+V,UAAYpY,EAAGoU,mBAAmBd,EAAS,QAChDjR,KAAKiW,MAAQtY,EAAGoU,mBAAmBd,EAAS,SAC5CjR,KAAK2U,MAAQhX,EAAGoU,mBAAmBd,EAAS,SAG5CjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBAGrDjR,KAAKqR,YAAcrR,KAAKmS,gBAAiBnS,KAAKsS,gBAE9CtS,KAAK4V,kBAAoBjY,EAAGoU,mBAAmBd,EAAS,qBACxDjR,KAAKiB,MAAQtD,EAAGoU,mBAAmBd,EAAS,SAE5CjR,KAAKiR,QAAUA,GAQnBzS,EAAKwX,uBAAuB1T,UAAUE,QAAU,WAE5CxC,KAAKrC,GAAG0X,cAAerV,KAAKiR,SAC5BjR,KAAK6S,SAAW,KAChB7S,KAAKrC,GAAK,KAEVqC,KAAK6V,UAAY,MAOrBrX,EAAK0X,cACL1X,EAAK2W,aACL3W,EAAK4H,2BAA4B,EAYjC5H,EAAK2X,cAAgB,SAASrT,GAK1B9C,KAAK8C,KAAOA,EAEPtE,EAAK4X,kBAEN5X,EAAK4X,gBAAkBpW,MAG3BA,KAAKqW,cAMLrW,KAAKoT,KAAO5R,OAAO8U,MASnBtW,KAAK2E,WAAa7B,EAAK6B,WAQvB3E,KAAKuW,YAAczT,EAAKyT,YAQxBvW,KAAKwW,YAAa,EAQlBxW,KAAKyW,sBAAwB3T,EAAK2T,sBAYlCzW,KAAK0W,kBAAoB5T,EAAK4T,kBAQ9B1W,KAAKpC,MAAQkF,EAAKlF,MAQlBoC,KAAKnC,OAASiF,EAAKjF,OAQnBmC,KAAK2W,KAAO7T,EAAK8T,OAOjB5W,KAAK6W,iBACD5V,MAAOjB,KAAKuW,YACZO,UAAWhU,EAAKgU,UAChBC,mBAAoB/W,KAAKuW,aAAoC,kBAArBvW,KAAKuW,YAC7CS,SAAS,EACTP,sBAAuBzW,KAAKyW,uBAOhCzW,KAAKiX,WAAa,IAAIzY,EAAKqC,MAM3Bb,KAAKkX,OAAS,IAAI1Y,EAAKqC,MASvBb,KAAKmX,cAAgB,IAAI3Y,EAAK4Y,mBAO9BpX,KAAKyL,YAAc,IAAIjN,EAAK6Y,iBAAiBvU,GAO7C9C,KAAK8L,YAAc,IAAItN,EAAK8Y,iBAO5BtX,KAAK2L,cAAgB,IAAInN,EAAK+Y,mBAO9BvX,KAAKwX,eAAiB,IAAIhZ,EAAKiZ,oBAO/BzX,KAAK0X,iBAAmB,IAAIlZ,EAAKmZ,sBAMjC3X,KAAK2F,iBAML3F,KAAK4X,0BAGL5X,KAAK2F,cAAc7C,KAAO9C,KAAK8C,KAC/B9C,KAAK2F,cAAchI,GAAKqC,KAAKrC,GAC7BqC,KAAK2F,cAAckS,UAAY,EAC/B7X,KAAK2F,cAAcmS,WAAa,EAChC9X,KAAK2F,cAAcwR,cAAgBnX,KAAKmX,cACxCnX,KAAK2F,cAAcmG,YAAc9L,KAAK8L,YACtC9L,KAAK2F,cAAcgG,cAAgB3L,KAAK2L,cACxC3L,KAAK2F,cAAc+R,iBAAmB1X,KAAK0X,iBAC3C1X,KAAK2F,cAAc8F,YAAczL,KAAKyL,YACtCzL,KAAK2F,cAAc6R,eAAiBxX,KAAKwX,eACzCxX,KAAK2F,cAAcf,SAAW5E,KAC9BA,KAAK2F,cAAchB,WAAa3E,KAAK2E,WACrC3E,KAAK2F,cAAcoS,yBAA2B,KAG9C/X,KAAKgY,cAGLhY,KAAKiY,iBAKTzZ,EAAK2X,cAAc7T,UAAUC,YAAc/D,EAAK2X,cAKhD3X,EAAK2X,cAAc7T,UAAU0V,YAAc,WAEvC,IAAIra,EAAKqC,KAAK2W,KAAKuB,WAAW,QAASlY,KAAK6W,kBAAoB7W,KAAK2W,KAAKuB,WAAW,qBAAsBlY,KAAK6W,iBAIhH,GAFA7W,KAAKrC,GAAKA,GAELA,EAED,MAAM,IAAIgL,MAAM,sEAGpB3I,KAAKmY,YAAcxa,EAAG8T,aAAa9T,EAAG+T,yBACtC1R,KAAKoY,eAAiBpY,KAAKrC,GAAG8T,aAAa9T,EAAG0a,kBAE9CrY,KAAKsY,YAAc3a,EAAGmW,GAAKtV,EAAK2X,cAAcmC,cAE9C9Z,EAAK0X,WAAWlW,KAAKsY,aAAe3a,EAEpCa,EAAK2W,UAAUnV,KAAKsY,aAAetY,KAGnCrC,EAAG4a,QAAQ5a,EAAG6a,YACd7a,EAAG4a,QAAQ5a,EAAG8a,WACd9a,EAAG+a,OAAO/a,EAAGgb,OAGb3Y,KAAKmX,cAAcyB,WAAWjb,GAC9BqC,KAAKyL,YAAYmN,WAAWjb,GAC5BqC,KAAK8L,YAAY8M,WAAWjb,GAC5BqC,KAAK2L,cAAciN,WAAWjb,GAC9BqC,KAAK0X,iBAAiBkB,WAAWjb,GACjCqC,KAAKwX,eAAeoB,WAAWjb,GAE/BqC,KAAK2F,cAAchI,GAAKqC,KAAKrC,GAG7BqC,KAAKkG,OAAOlG,KAAKpC,MAAOoC,KAAKnC,QAG7BmC,KAAKqW,WAAWwC,eAEhB,IAAIC,EAAOnb,EAAGob,aAAa,kCAAoCpb,EAAGob,aAAa,wCAC3EC,EAAQrb,EAAGob,aAAa,mCAAqCpb,EAAGob,aAAa,yCAC7EE,EAAOtb,EAAGob,aAAa,kCAAoCpb,EAAGob,aAAa,wCAE3ED,IAAQ9Y,KAAKqW,WAAWwC,YAAYK,KAAOJ,GAC3CE,IAAShZ,KAAKqW,WAAWwC,YAAYM,MAAQH,GAC7CC,IAAQjZ,KAAKqW,WAAWwC,YAAYO,KAAOH,IA0BnDza,EAAK2X,cAAc7T,UAAU+W,mBAAqB,SAAUC,GAExD,GAAK9a,EAAK4H,0BAAV,CAuBA,IAAK,IAlBDmT,EAAW,SAAUC,GAOrB,QANEA,EACFA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,KACbA,GAET7b,EAAKqC,KAAKrC,GACVwa,EAAcxa,EAAG8T,aAAa9T,EAAG+T,yBACjC0G,EAAiBza,EAAG8T,aAAa9T,EAAG0a,kBACpCoB,EAAazZ,KAAK8C,KAAK4W,MAAMC,OAAOC,MACpCC,EAAY,KAKPnX,EAAI,EAAGA,EAAI1C,KAAK4X,uBAAuBjV,OAAQD,KAEpDmX,EAAY7Z,KAAK4X,uBAAuBlV,MAErB+W,EAMnBA,EAAWI,GAAWC,KAAKzT,aAAe,EAJtC/F,QAAQyZ,KAAK,iEAAkEF,GAMvF,IAAI9B,EAA2B,EAAmBwB,EAAS9V,KAAKuC,IAAIhG,KAAKpC,MAAOoC,KAAKnC,SACrFmC,KAAK4X,uBAAuBjV,OAAS,EAErC,IAAK,IAAI8E,EAAI,EAAGA,EAAI6R,EAAsB3W,SAAU8E,EAIhD,IAFAoS,EAAYP,EAAsB7R,MAEfgS,EAAnB,CAMA,IAAIK,EAAOL,EAAWI,GAAWC,MACjC/B,GAA4BwB,EAAS9V,KAAKuC,IAAI8T,EAAKlc,MAAOkc,EAAKjc,WAC/B,GAC5Bic,EAAKzT,aAAe,EACpB/F,QAAQyZ,KAAK,4GACTF,EAAW9B,IAEf+B,EAAKzT,aAAgB,EAAKoB,GAAK0Q,EAAc,GAEjDnY,KAAK4X,uBAAuBlQ,KAAKmS,QAb7BvZ,QAAQyZ,KAAK,iEAAkEF,GAkBvF,OAFA7Z,KAAK2F,cAAcoS,yBAA2BA,EAEvC/X,KAAK4X,uBA5DRtX,QAAQyZ,KAAK,mGAsErBvb,EAAK2X,cAAc7T,UAAU4C,OAAS,SAAS8U,GAG3C,IAAIha,KAAKia,YAAT,CAKA,IAAItc,EAAKqC,KAAKrC,GAGdA,EAAGuc,SAAS,EAAG,EAAGla,KAAKpC,MAAOoC,KAAKnC,QAGnCF,EAAG+B,gBAAgB/B,EAAGgC,YAAa,MAE/BK,KAAK8C,KAAK4T,oBAEV/Y,EAAGwc,WAAWH,EAAMI,SAASnW,EAAG+V,EAAMI,SAASC,EAAGL,EAAMI,SAASlX,EAAG8W,EAAMI,SAASnX,GAEnFtF,EAAG2c,MAAM3c,EAAG4c,mBAGhBva,KAAKkX,OAAOpT,EAAI9D,KAAK8C,KAAK0X,OAAOC,OAAO3W,EACxC9D,KAAKkX,OAAOnT,EAAI/D,KAAK8C,KAAK0X,OAAOC,OAAO1W,EAExC/D,KAAK0a,oBAAoBV,EAAOha,KAAKiX,cAWzCzY,EAAK2X,cAAc7T,UAAUoY,oBAAsB,SAASC,EAAe1D,EAAY2D,EAAQvN,GAE3FrN,KAAK2F,cAAc+R,iBAAiBmD,aAAarc,EAAKsJ,WAAWE,QAGjEhI,KAAK2F,cAAckS,UAAY,EAC/B7X,KAAK2F,cAAcmS,WAAa,EAGhC9X,KAAK2F,cAAcgP,MAAQiG,GAAU,EAAI,EAGzC5a,KAAK2F,cAAcsR,WAAaA,EAGhCjX,KAAK2F,cAAcuR,OAASlX,KAAKkX,OAGjClX,KAAKyL,YAAYqP,MAAM9a,KAAK2F,eAG5B3F,KAAK2L,cAAcmP,MAAM9a,KAAK2F,cAAeiV,GAG7CD,EAAc7U,aAAa9F,KAAK2F,cAAe0H,GAG/CrN,KAAKyL,YAAYsP,OAUrBvc,EAAK2X,cAAc7T,UAAU4D,OAAS,SAAStI,EAAOC,GAElDmC,KAAKpC,MAAQA,EAAQoC,KAAK2E,WAC1B3E,KAAKnC,OAASA,EAASmC,KAAK2E,WAE5B3E,KAAK2W,KAAK/Y,MAAQoC,KAAKpC,MACvBoC,KAAK2W,KAAK9Y,OAASmC,KAAKnC,OAEpBmC,KAAKwW,aACLxW,KAAK2W,KAAKqE,MAAMpd,MAAQoC,KAAKpC,MAAQoC,KAAK2E,WAAa,KACvD3E,KAAK2W,KAAKqE,MAAMnd,OAASmC,KAAKnC,OAASmC,KAAK2E,WAAa,MAG7D3E,KAAKrC,GAAGuc,SAAS,EAAG,EAAGla,KAAKpC,MAAOoC,KAAKnC,QAExCmC,KAAKiX,WAAWnT,EAAK9D,KAAKpC,MAAQ,EAAIoC,KAAK2E,WAC3C3E,KAAKiX,WAAWlT,GAAM/D,KAAKnC,OAAS,EAAImC,KAAK2E,YAUjDnG,EAAK2X,cAAc7T,UAAU2Y,wBAA0B,SAAUld,GAC7D,IAAKA,EAAQ+O,UAET,OAAO,EAEX,IAAInP,EAAKqC,KAAKrC,GACVud,EAAkBnd,EAAQiR,OA2C9B,OAzCKjR,EAAQ8V,YAAYlW,EAAGmW,MAExB/V,EAAQ8V,YAAYlW,EAAGmW,IAAMnW,EAAGK,iBAEpCL,EAAG6B,cAAc7B,EAAG8B,SAAW1B,EAAQsI,cAEvC1I,EAAGM,YAAYN,EAAGO,WAAYH,EAAQ8V,YAAYlW,EAAGmW,KAErDnW,EAAGwd,qBACCxd,EAAGO,WACH,EACAgd,EAAgBE,kBAChBF,EAAgBtd,MAChBsd,EAAgBrd,OAChB,EACAqd,EAAgBnH,aAGpBpW,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAEjHZ,EAAQsd,QAAU7Z,OAAOiC,KAAK6X,aAAavd,EAAQH,MAAOG,EAAQF,SAElEF,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAG4d,qBAAuB5d,EAAG6d,wBACnI7d,EAAG8d,eAAe9d,EAAGO,aAIrBP,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAGpHZ,EAAQ2d,WAOT/d,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAG6W,QACtD7W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAG6W,UANtD7W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,gBAO1DN,EAAQmX,OAAOvX,EAAGmW,KAAM,GACjB,GAUXtV,EAAK2X,cAAc7T,UAAU8S,cAAgB,SAASrX,GAElD,IAAKA,EAAQ+O,UAET,OAAO,EAEX,GAAI/O,EAAQiR,OAAO2M,qBACf,OAAO3b,KAAKib,wBAAwBld,GAGxC,IAAIJ,EAAKqC,KAAKrC,GAwCd,OAtCKI,EAAQ8V,YAAYlW,EAAGmW,MAExB/V,EAAQ8V,YAAYlW,EAAGmW,IAAMnW,EAAGK,iBAEpCL,EAAG6B,cAAc7B,EAAG8B,SAAW1B,EAAQsI,cAEvC1I,EAAGM,YAAYN,EAAGO,WAAYH,EAAQ8V,YAAYlW,EAAGmW,KAErDnW,EAAG8W,YAAY9W,EAAGie,+BAAgC7d,EAAQgZ,oBAE1DpZ,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAMnB,EAAGmB,KAAMnB,EAAGoB,cAAehB,EAAQiR,QAE5ErR,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAEjHZ,EAAQsd,QAAU7Z,OAAOiC,KAAK6X,aAAavd,EAAQH,MAAOG,EAAQF,SAElEF,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAG4d,qBAAuB5d,EAAG6d,wBACnI7d,EAAG8d,eAAe9d,EAAGO,aAIrBP,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAGpHZ,EAAQ2d,WAOT/d,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAG6W,QACtD7W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAG6W,UANtD7W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,gBAQ1DN,EAAQmX,OAAOvX,EAAGmW,KAAM,GAGjB,GASXtV,EAAK2X,cAAc7T,UAAUE,QAAU,WAEnChE,EAAK0X,WAAWlW,KAAKsY,aAAe,KAEpCtY,KAAKiX,WAAa,KAClBjX,KAAKkX,OAAS,KAEdlX,KAAKmX,cAAc3U,UACnBxC,KAAKyL,YAAYjJ,UACjBxC,KAAK8L,YAAYtJ,UACjBxC,KAAK2L,cAAcnJ,UAEnBxC,KAAKmX,cAAgB,KACrBnX,KAAKyL,YAAc,KACnBzL,KAAK8L,YAAc,KACnB9L,KAAK2L,cAAgB,KAErB3L,KAAKrC,GAAK,KACVqC,KAAK2F,cAAgB,KAErBnE,OAAOqa,WAAWC,OAAO9b,MAEzBxB,EAAK2W,UAAUnV,KAAKsY,aAAe,KAEnC9Z,EAAK2X,cAAcmC,eAQvB9Z,EAAK2X,cAAc7T,UAAU2V,cAAgB,WAEzC,IAAIta,EAAKqC,KAAKrC,GAEd,IAAKa,EAAKud,gBACV,CACI,IAAI7Y,KACA8Y,EAAQxd,EAAKsJ,WAEjB5E,EAAE8Y,EAAMhU,SAAkBrK,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMG,MAAkBxe,EAAGye,UAAWze,EAAG0e,WAC3CnZ,EAAE8Y,EAAMjU,WAAkBpK,EAAG2e,UAAW3e,EAAGue,qBAC3ChZ,EAAE8Y,EAAMO,SAAkB5e,EAAGye,UAAWze,EAAGse,KAC3C/Y,EAAE8Y,EAAMQ,UAAkB7e,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMS,SAAkB9e,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMU,UAAkB/e,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMW,cAAkBhf,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMY,aAAkBjf,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMa,aAAkBlf,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMc,aAAkBnf,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMe,aAAkBpf,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMgB,YAAkBrf,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMiB,MAAkBtf,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMkB,aAAkBvf,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMmB,QAAkBxf,EAAGse,IAAWte,EAAGue,qBAC3ChZ,EAAE8Y,EAAMoB,aAAkBzf,EAAGse,IAAWte,EAAGue,qBAE3C1d,EAAKud,gBAAkB7Y,IAI/B1E,EAAK2X,cAAc7T,UAAU+a,kBAAoB,WAC7C,IAAI1f,EAAKqC,KAAKrC,GACd,OAAOA,EAAG8T,aAAa9T,EAAG+T,0BAG9BlT,EAAK8e,mBAAqB,WACtB9e,EAAK4H,2BAA4B,GAGrC5H,EAAK2X,cAAcmC,YAAc,EACjC9Z,EAAK2X,cAAcoH,gBAWnB/e,EAAKmZ,sBAAwB,WAMzB3X,KAAKwN,iBAAmB,OAG5BhP,EAAKmZ,sBAAsBrV,UAAUC,YAAc/D,EAAKmZ,sBAQxDnZ,EAAKmZ,sBAAsBrV,UAAUsW,WAAa,SAASjb,GAEvDqC,KAAKrC,GAAKA,GASda,EAAKmZ,sBAAsBrV,UAAUuY,aAAe,SAAShT,GAEzD,GAAG7H,KAAKwN,mBAAqB3F,EAAU,OAAO,EAE9C7H,KAAKwN,iBAAmB3F,EAExB,IAAI2V,EAAiBhf,EAAKud,gBAAgB/b,KAAKwN,kBAO/C,OALIgQ,GAEAxd,KAAKrC,GAAG8f,UAAUD,EAAe,GAAIA,EAAe,KAGjD,GAQXhf,EAAKmZ,sBAAsBrV,UAAUE,QAAU,WAE3CxC,KAAKrC,GAAK,MAYda,EAAK8Y,iBAAmB,aAIxB9Y,EAAK8Y,iBAAiBhV,UAAUC,YAAc/D,EAAK8Y,iBAQnD9Y,EAAK8Y,iBAAiBhV,UAAUsW,WAAa,SAASjb,GAElDqC,KAAKrC,GAAKA,GAUda,EAAK8Y,iBAAiBhV,UAAUyJ,SAAW,SAAS2R,EAAU/X,GAE1D,IAAIhI,EAAKgI,EAAchI,GAEnB+f,EAAStM,OAET5S,EAAKmf,cAAcC,eAAeF,EAAU/f,QAGjB2I,IAA3BoX,EAASG,OAAOlgB,EAAGmW,UAAqDxN,IAAhCoX,EAASG,OAAOlgB,EAAGmW,IAAIE,MAA6D,IAAvC0J,EAASG,OAAOlgB,EAAGmW,IAAIE,KAAKrR,QAKrHgD,EAAc6R,eAAesG,YAAYJ,EAAUA,EAASG,OAAOlgB,EAAGmW,IAAIE,KAAK,GAAIrO,IAUvFnH,EAAK8Y,iBAAiBhV,UAAU2J,QAAU,SAASyR,EAAU/X,GAEzD,IAAIhI,EAAKqC,KAAKrC,QAEiB2I,IAA3BoX,EAASG,OAAOlgB,EAAGmW,UAAqDxN,IAAhCoX,EAASG,OAAOlgB,EAAGmW,IAAIE,MAA6D,IAAvC0J,EAASG,OAAOlgB,EAAGmW,IAAIE,KAAKrR,QAKrHgD,EAAc6R,eAAeuG,WAAWL,EAAUA,EAASG,OAAOlgB,EAAGmW,IAAIE,KAAK,GAAIrO,IAStFnH,EAAK8Y,iBAAiBhV,UAAUE,QAAU,WAEtCxC,KAAKrC,GAAK,MAYda,EAAKiZ,oBAAsB,WAEvBzX,KAAKge,gBACLhe,KAAKie,SAAU,EACfje,KAAKke,MAAQ,GASjB1f,EAAKiZ,oBAAoBnV,UAAUsW,WAAa,SAASjb,GAErDqC,KAAKrC,GAAKA,GAWda,EAAKiZ,oBAAoBnV,UAAUwb,YAAc,SAASK,EAAUC,EAAWzY,GAE3E,IAAIhI,EAAKqC,KAAKrC,GACdqC,KAAKqe,aAAaF,EAAUC,EAAWzY,GAEP,IAA7B3F,KAAKge,aAAarb,SAEjBhF,EAAG+a,OAAO/a,EAAG2gB,cACb3gB,EAAG2c,MAAM3c,EAAG4gB,oBACZve,KAAKie,SAAU,EACfje,KAAKke,MAAQ,GAGjBle,KAAKge,aAAatW,KAAK0W,GAEvB,IAAII,EAAQxe,KAAKke,MAEjBvgB,EAAG8gB,WAAU,GAAO,GAAO,GAAO,GAElC9gB,EAAG+gB,YAAY/gB,EAAGghB,OAAO,EAAE,KAC3BhhB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAGmhB,QAIV,IAAnBV,EAAUW,MAETphB,EAAGqhB,aAAarhB,EAAGshB,aAAeb,EAAU5L,QAAQ7P,OAAS,EAAGhF,EAAGuhB,eAAgB,GAEhFlf,KAAKie,SAEJtgB,EAAG+gB,YAAY/gB,EAAGwhB,MAAO,IAAOX,EAAO,KACvC7gB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAGyhB,QAIhCzhB,EAAG+gB,YAAY/gB,EAAGwhB,MAAMX,EAAO,KAC/B7gB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAG0hB,OAIpC1hB,EAAGqhB,aAAarhB,EAAGshB,aAAc,EAAGthB,EAAGuhB,eAAmD,GAAjCd,EAAU5L,QAAQ7P,OAAS,IAEjF3C,KAAKie,QAEJtgB,EAAG+gB,YAAY/gB,EAAGwhB,MAAM,KAAMX,EAAM,GAAI,KAIxC7gB,EAAG+gB,YAAY/gB,EAAGwhB,MAAMX,EAAM,EAAG,KAGrCxe,KAAKie,SAAWje,KAAKie,UAIjBje,KAAKie,SAOLtgB,EAAG+gB,YAAY/gB,EAAGwhB,MAAMX,EAAO,KAC/B7gB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAG0hB,QANhC1hB,EAAG+gB,YAAY/gB,EAAGwhB,MAAO,IAAOX,EAAO,KACvC7gB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAGyhB,OAQpCzhB,EAAGqhB,aAAarhB,EAAG2hB,eAAiBlB,EAAU5L,QAAQ7P,OAAQhF,EAAGuhB,eAAgB,GAE7Elf,KAAKie,QAMLtgB,EAAG+gB,YAAY/gB,EAAGwhB,MAAMX,EAAM,EAAG,KAJjC7gB,EAAG+gB,YAAY/gB,EAAGwhB,MAAM,KAAMX,EAAM,GAAI,MAQhD7gB,EAAG8gB,WAAU,GAAM,GAAM,GAAM,GAC/B9gB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAGkhB,MAEhC7e,KAAKke,SAWT1f,EAAKiZ,oBAAoBnV,UAAU+b,aAAe,SAASF,EAAUC,EAAWzY,GAG5E3F,KAAKuf,iBAAmBpB,EAExB,IAKIvR,EALAjP,EAAKqC,KAAKrC,GAGVsZ,EAAatR,EAAcsR,WAC3BC,EAASvR,EAAcuR,OAGL,IAAnBkH,EAAUW,MAETnS,EAASjH,EAAcwR,cAAcqI,uBAErC7Z,EAAcwR,cAAcsI,UAAW7S,GAEvCjP,EAAG+hB,UAAU9S,EAAO+H,MAAOhP,EAAcgP,OAEzChX,EAAGgW,iBAAiB/G,EAAOgJ,mBAAmB,EAAOuI,EAAS5c,eAAeoe,SAAQ,IAErFhiB,EAAGiiB,UAAUhT,EAAOoF,iBAAkBiF,EAAWnT,GAAImT,EAAWlT,GAChEpG,EAAGiiB,UAAUhT,EAAOqF,cAAeiF,EAAOpT,GAAIoT,EAAOnT,GAErDpG,EAAGkiB,WAAWjT,EAAOmJ,UAAWvU,OAAOse,MAAMC,cAAc5B,EAAS1R,OACpE9O,EAAGkiB,WAAWjT,EAAOqJ,MAAOmI,EAAUnI,OAEtCtY,EAAG+hB,UAAU9S,EAAO3L,MAAOkd,EAAS7c,WAAa8c,EAAUnd,OAE3DtD,EAAGqiB,WAAWriB,EAAGsiB,aAAc7B,EAAUxD,QAEzCjd,EAAGuiB,oBAAoBtT,EAAOuF,gBAAiB,EAAGxU,EAAGwiB,OAAO,EAAO,EAAO,GAK1ExiB,EAAGqiB,WAAWriB,EAAGyiB,qBAAsBhC,EAAUiC,eAKjDzT,EAASjH,EAAcwR,cAAcmJ,gBACrC3a,EAAcwR,cAAcsI,UAAW7S,GAEvCjP,EAAGgW,iBAAiB/G,EAAOgJ,mBAAmB,EAAOuI,EAAS5c,eAAeoe,SAAQ,IAErFhiB,EAAG+hB,UAAU9S,EAAO+H,MAAOhP,EAAcgP,OACzChX,EAAGiiB,UAAUhT,EAAOoF,iBAAkBiF,EAAWnT,GAAImT,EAAWlT,GAChEpG,EAAGiiB,UAAUhT,EAAOqF,cAAeiF,EAAOpT,GAAIoT,EAAOnT,GAErDpG,EAAGkiB,WAAWjT,EAAOmJ,UAAWvU,OAAOse,MAAMC,cAAc5B,EAAS1R,OAEpE9O,EAAG+hB,UAAU9S,EAAO3L,MAAOkd,EAAS7c,YAEpC3D,EAAGqiB,WAAWriB,EAAGsiB,aAAc7B,EAAUxD,QAEzCjd,EAAGuiB,oBAAoBtT,EAAOuF,gBAAiB,EAAGxU,EAAGwiB,OAAO,EAAO,GAAO,GAC1ExiB,EAAGuiB,oBAAoBtT,EAAO0F,eAAgB,EAAG3U,EAAGwiB,OAAO,EAAM,GAAO,GAGxExiB,EAAGqiB,WAAWriB,EAAGyiB,qBAAsBhC,EAAUiC,eAUzD7hB,EAAKiZ,oBAAoBnV,UAAUyb,WAAa,SAASI,EAAUC,EAAWzY,GAE7E,IAAIhI,EAAKqC,KAAKrC,GAKX,GAJAqC,KAAKge,aAAauC,MAElBvgB,KAAKke,QAE2B,IAA7Ble,KAAKge,aAAarb,OAGjBhF,EAAG4a,QAAQ5a,EAAG2gB,kBAIlB,CAEI,IAAIE,EAAQxe,KAAKke,MAEjBle,KAAKqe,aAAaF,EAAUC,EAAWzY,GAEvChI,EAAG8gB,WAAU,GAAO,GAAO,GAAO,GAEZ,IAAnBL,EAAUW,MAET/e,KAAKie,SAAWje,KAAKie,QAElBje,KAAKie,SAEJtgB,EAAG+gB,YAAY/gB,EAAGwhB,MAAO,KAAQX,EAAM,GAAI,KAC3C7gB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAG0hB,QAIhC1hB,EAAG+gB,YAAY/gB,EAAGwhB,MAAMX,EAAM,EAAG,KACjC7gB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAGyhB,OAIpCzhB,EAAGqhB,aAAarhB,EAAGshB,aAAc,EAAGthB,EAAGuhB,eAAmD,GAAjCd,EAAU5L,QAAQ7P,OAAS,IAEpFhF,EAAG+gB,YAAY/gB,EAAGghB,OAAO,EAAE,KAC3BhhB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAGmhB,QAGhCnhB,EAAGqhB,aAAarhB,EAAGshB,aAAeb,EAAU5L,QAAQ7P,OAAS,EAAGhF,EAAGuhB,eAAgB,GAE/Elf,KAAKie,QAMLtgB,EAAG+gB,YAAY/gB,EAAGwhB,MAAMX,EAAO,KAJ/B7gB,EAAG+gB,YAAY/gB,EAAGwhB,MAAM,IAAK,EAAS,OAWtCnf,KAAKie,SAOLtgB,EAAG+gB,YAAY/gB,EAAGwhB,MAAMX,EAAM,EAAG,KACjC7gB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAGyhB,QANhCzhB,EAAG+gB,YAAY/gB,EAAGwhB,MAAO,KAAQX,EAAM,GAAI,KAC3C7gB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAG0hB,OAQpC1hB,EAAGqhB,aAAarhB,EAAG2hB,eAAiBlB,EAAU5L,QAAQ7P,OAAQhF,EAAGuhB,eAAgB,GAE7Elf,KAAKie,QAMLtgB,EAAG+gB,YAAY/gB,EAAGwhB,MAAMX,EAAO,KAJ/B7gB,EAAG+gB,YAAY/gB,EAAGwhB,MAAM,IAAK,EAAS,MAQ9CxhB,EAAG8gB,WAAU,GAAM,GAAM,GAAM,GAC/B9gB,EAAGihB,UAAUjhB,EAAGkhB,KAAKlhB,EAAGkhB,KAAKlhB,EAAGkhB,QAWxCrgB,EAAKiZ,oBAAoBnV,UAAUE,QAAU,WAEzCxC,KAAKge,aAAe,KACpBhe,KAAKrC,GAAK,MAYda,EAAK4Y,mBAAqB,WAMtBpX,KAAKwgB,UAAY,GAMjBxgB,KAAKygB,eAMLzgB,KAAK0gB,mBAEL,IAAK,IAAIhe,EAAI,EAAGA,EAAI1C,KAAKwgB,UAAW9d,IAEhC1C,KAAKygB,YAAY/d,IAAK,EAO1B1C,KAAK2gB,UAITniB,EAAK4Y,mBAAmB9U,UAAUC,YAAc/D,EAAK4Y,mBAQrD5Y,EAAK4Y,mBAAmB9U,UAAUsW,WAAa,SAASjb,GAEpDqC,KAAKrC,GAAKA,EAGVqC,KAAKsgB,gBAAkB,IAAI9hB,EAAKsX,gBAAgBnY,GAGhDqC,KAAKwf,uBAAyB,IAAIhhB,EAAKwX,uBAAuBrY,GAG9DqC,KAAK4gB,cAAgB,IAAIpiB,EAAKuS,WAAWpT,GAGzCqC,KAAK6gB,WAAa,IAAIriB,EAAK8W,eAAe3X,GAG1CqC,KAAK8gB,YAAc,IAAItiB,EAAKmX,YAAYhY,GAGxCqC,KAAK+gB,eAAiBviB,EAAKwiB,eAAiB,IAAIxiB,EAAKwiB,eAAerjB,GAAM,KAE1EqC,KAAKyf,UAAUzf,KAAK4gB,gBASxBpiB,EAAK4Y,mBAAmB9U,UAAU2e,WAAa,SAASC,GAGpD,IAAIxe,EAEJ,IAAKA,EAAI,EAAGA,EAAI1C,KAAK0gB,gBAAgB/d,OAAQD,IAEzC1C,KAAK0gB,gBAAgBhe,IAAK,EAI9B,IAAKA,EAAI,EAAGA,EAAIwe,EAAQve,OAAQD,IAChC,CACI,IAAIye,EAAWD,EAAQxe,GACvB1C,KAAK0gB,gBAAgBS,IAAY,EAGrC,IAAIxjB,EAAKqC,KAAKrC,GAEd,IAAK+E,EAAI,EAAGA,EAAI1C,KAAKygB,YAAY9d,OAAQD,IAElC1C,KAAKygB,YAAY/d,KAAO1C,KAAK0gB,gBAAgBhe,KAE5C1C,KAAKygB,YAAY/d,GAAK1C,KAAK0gB,gBAAgBhe,GAExC1C,KAAK0gB,gBAAgBhe,GAEpB/E,EAAGyjB,wBAAwB1e,GAI3B/E,EAAG0jB,yBAAyB3e,KAY5ClE,EAAK4Y,mBAAmB9U,UAAUmd,UAAY,SAAS7S,GAEnD,OAAG5M,KAAKshB,aAAe1U,EAAOoE,OAE9BhR,KAAKshB,WAAa1U,EAAOoE,KAEzBhR,KAAKuhB,cAAgB3U,EAErB5M,KAAKrC,GAAGkU,WAAWjF,EAAOqE,SAC1BjR,KAAKihB,WAAWrU,EAAOyE,aAEhB,IAQX7S,EAAK4Y,mBAAmB9U,UAAUE,QAAU,WAExCxC,KAAKygB,YAAc,KAEnBzgB,KAAK0gB,gBAAkB,KAEvB1gB,KAAKsgB,gBAAgB9d,UAErBxC,KAAKwf,uBAAuBhd,UAE5BxC,KAAK4gB,cAAcpe,UAEnBxC,KAAK6gB,WAAWre,UAEhBxC,KAAK8gB,YAAYte,UAEbxC,KAAK+gB,gBACP/gB,KAAK+gB,eAAeve,UAGtBxC,KAAKrC,GAAK,MAoBda,EAAK6Y,iBAAmB,SAAUvU,GAK9B9C,KAAK8C,KAAOA,EAMZ9C,KAAKwhB,SAAW,EAOhBxhB,KAAKyhB,KAAO,IAMZzhB,KAAK0hB,WAAa,GAClB,IAAIC,EAAW3hB,KAAK0hB,WAAa1hB,KAAKyhB,KAAO,EAGzCG,EAAyB,EAAZ5hB,KAAKyhB,KAQtBzhB,KAAK6hB,SAAW,IAAIC,YAAYH,GAQhC3hB,KAAK+hB,UAAY,IAAIC,aAAahiB,KAAK6hB,UAQvC7hB,KAAKiiB,OAAS,IAAIC,YAAYliB,KAAK6hB,UAQnC7hB,KAAKwS,QAAU,IAAI2P,YAAYP,GAM/B5hB,KAAKoiB,eAAiB,EAEtB,IAAK,IAAI1f,EAAI,EAAG+E,EAAI,EAAG/E,EAAIkf,EAAYlf,GAAK,EAAG+E,GAAK,EAChDzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAO9BzH,KAAKqiB,SAAU,EAMfriB,KAAKsiB,iBAAmB,EAMxBtiB,KAAKuiB,mBAAqB,KAM1BviB,KAAKoR,OAAQ,EAMbpR,KAAKwiB,YAMLxiB,KAAK8H,cAML9H,KAAKyiB,WAMLziB,KAAK0iB,WAML1iB,KAAK4gB,cAAgB,MAOzBpiB,EAAK6Y,iBAAiB/U,UAAUsW,WAAa,SAAUjb,GAGnD,GAFAqC,KAAKwR,aAAe7T,EAAG8T,aAAa9T,EAAG+T,yBACvC1R,KAAKrC,GAAKA,EACNa,EAAK4H,0BAA2B,CAEhC,IAAK,IADDuL,EAAa,6GACRnJ,EAAQ,EAAGA,EAAQxI,KAAKwR,eAAgBhJ,EAC7CmJ,GAAc,0BACVnJ,EAAQ,+CACRA,EAAQ,wCAEhBxI,KAAK4gB,cAAgB,IAAIpf,OAAOmhB,OAC5B3iB,KAAK8C,UACLwD,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,mCAAqCtG,KAAKwR,aAAe,KACzD,oBACIG,EACA,wEACJ,WAKR3R,KAAK4gB,cAAgB,IAAIpf,OAAOmhB,OAC5B3iB,KAAK8C,UACLwD,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,iEACA,MAKZtG,KAAK4iB,aAAejlB,EAAGklB,eACvB7iB,KAAKqgB,YAAc1iB,EAAGklB,eAKtBllB,EAAGqiB,WAAWriB,EAAGyiB,qBAAsBpgB,KAAKqgB,aAC5C1iB,EAAGmlB,WAAWnlB,EAAGyiB,qBAAsBpgB,KAAKwS,QAAS7U,EAAGolB,aAExDplB,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAK4iB,cACpCjlB,EAAGmlB,WAAWnlB,EAAGsiB,aAAcjgB,KAAK6hB,SAAUlkB,EAAGqlB,cAEjDhjB,KAAKwN,iBAAmB,MAExB,IAAIZ,EAAS,IAAIpO,EAAKuS,WAAWpT,GAEjCiP,EAAOyD,YAAcrQ,KAAK4gB,cAAcvQ,YACxCzD,EAAOiG,YACPjG,EAAO0E,OAEPtR,KAAK4gB,cAAc6B,QAAQ9kB,EAAGmW,IAAMlH,GAOxCpO,EAAK6Y,iBAAiB/U,UAAUwY,MAAQ,SAAUnV,GAC9C3F,KAAK2F,cAAgBA,EACrB3F,KAAK4M,OAAS5M,KAAK2F,cAAcwR,cAAcyJ,cAE/C5gB,KAAKgM,SAMTxN,EAAK6Y,iBAAiB/U,UAAUyY,IAAM,WAClC/a,KAAK0L,SAQTlN,EAAK6Y,iBAAiB/U,UAAU4C,OAAS,SAAU+d,EAAQ5V,GACvD,IAAItP,EAAUklB,EAAOllB,QACjBoI,EAAcpI,EAAQoI,YACtBxI,EAAKqC,KAAKrC,GACVa,EAAK2X,cAAcoH,aAAapX,EAAYE,eAAiBF,IAC7DnG,KAAK0L,QACL/N,EAAG6B,cAAc7B,EAAG8B,SAAW0G,EAAYE,cAC3C1I,EAAGM,YAAYN,EAAGO,WAAYiI,EAAY0N,YAAYlW,EAAGmW,KACzDtV,EAAK2X,cAAcoH,aAAapX,EAAYE,cAAgBF,GAIhE,IAAI3C,EAAKyf,EAAO1hB,eAEZ8L,IACA7J,EAAK6J,GAILrN,KAAKsiB,kBAAoBtiB,KAAKyhB,OAC9BzhB,KAAK0L,QACL1L,KAAKuiB,mBAAqBxkB,EAAQoI,aAItC,IAAI+c,EAAMnlB,EAAQolB,KAGlB,GAAKD,EAAL,CAIA,IAGItY,EAAIC,EAAIC,EAAIC,EAHZqY,EAAKH,EAAOvc,OAAO5C,EACnBuf,EAAKJ,EAAOvc,OAAO3C,EAIvB,GAAIhG,EAAQgQ,KAAM,CAEd,IAAIA,EAAOhQ,EAAQgQ,KAGnBnD,GADAC,EAAKkD,EAAKjK,EAAIsf,EAAKrV,EAAKnQ,OACdG,EAAQwP,KAAK3P,MAGvBkN,GADAC,EAAKgD,EAAKhK,EAAIsf,EAAKtV,EAAKlQ,QACdE,EAAQwP,KAAK1P,YAEvB+M,EAAM7M,EAAQiP,MAAW,OAAK,EAAIoW,GAClCvY,EAAM9M,EAAQiP,MAAW,OAAKoW,EAE9BtY,EAAK/M,EAAQiP,MAAMnP,QAAU,EAAIwlB,GACjCtY,EAAKhN,EAAQiP,MAAMnP,QAAUwlB,EAGjC,IAAI3gB,EAAI1C,KAAKsiB,iBAAmBtiB,KAAK0hB,WAEjC/c,GADW3E,KAAKsiB,iBACHvkB,EAAQoI,YAAYxB,YACjC0B,EAAetI,EAAQoI,YAAYE,aAEnCpD,EAAIO,EAAGP,EAAI0B,EACXzB,EAAIM,EAAGN,EAAIyB,EACXxB,EAAIK,EAAGL,EAAIwB,EACXvB,EAAII,EAAGJ,EAAIuB,EACXtB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAGR8K,GADKrQ,EAAQwP,KAAK3P,MACbG,EAAQwP,KAAK1P,QAEtB,GAAIE,EAAQsQ,QACZ,CACI,IAAIiV,EAAK9f,EAAGP,EACRsgB,EAAK/f,EAAGN,EACRsgB,EAAKhgB,EAAGL,EACRsgB,EAAKjgB,EAAGJ,EACRsgB,EAAM7Y,EACN8Y,EAAM/Y,EAGVvH,EAAKG,EAAGL,EAAIiL,EAAK/K,EACjBC,EAAKE,EAAGJ,EAAIgL,EAAK9K,EAIjBL,EAAS,sBAALqgB,EAA8BE,EAClCtgB,EAAS,sBAALqgB,EAA8BE,EAClCtgB,EAAImgB,EAAU,sBAALE,EACTpgB,EAAImgB,EAAU,sBAALE,EAGT1lB,EAAQ6lB,qBAGRhZ,EAAKE,EACLD,EAAKE,EACLD,EAAK6Y,EACL5Y,EAAK2Y,EAGT,IAAIzB,EAASjiB,KAAKiiB,OACdF,EAAY/hB,KAAK+hB,UACjBtV,EAAOwW,EAAOxW,KACdwJ,GAASxJ,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApBwW,EAAO3hB,YAAoB,IAE7FtB,KAAK2F,cAAc4I,aACnBwT,EAAUrf,KAAOO,EAAI4H,EAAK1H,EAAI4H,EAAK1H,EAAK,EACxC0e,EAAUrf,KAAOU,EAAI2H,EAAK7H,EAAI2H,EAAKvH,EAAK,EACxCye,EAAUrf,KAAOwgB,EAAIW,GACrB9B,EAAUrf,KAAOwgB,EAAIY,GACrB7B,EAAOvf,KAAOuT,EACd8L,EAAUrf,KAAO2D,EAEjB0b,EAAUrf,KAAOO,EAAI2H,EAAKzH,EAAI4H,EAAK1H,EAAK,EACxC0e,EAAUrf,KAAOU,EAAI2H,EAAK7H,EAAI0H,EAAKtH,EAAK,EACxCye,EAAUrf,KAAOwgB,EAAIlY,GACrB+W,EAAUrf,KAAOwgB,EAAIjY,GACrBgX,EAAOvf,KAAOuT,EACd8L,EAAUrf,KAAO2D,EAEjB0b,EAAUrf,KAAOO,EAAI2H,EAAKzH,EAAI2H,EAAKzH,EAAK,EACxC0e,EAAUrf,KAAOU,EAAI0H,EAAK5H,EAAI0H,EAAKtH,EAAK,EACxCye,EAAUrf,KAAOwgB,EAAIhY,GACrB6W,EAAUrf,KAAOwgB,EAAI/X,GACrB8W,EAAOvf,KAAOuT,EACd8L,EAAUrf,KAAO2D,EAEjB0b,EAAUrf,KAAOO,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EAAK,EACxC0e,EAAUrf,KAAOU,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EAAK,EACxCye,EAAUrf,KAAOwgB,EAAI9X,GACrB2W,EAAUrf,KAAOwgB,EAAI7X,GACrB4W,EAAOvf,KAAOuT,EACd8L,EAAUrf,KAAO2D,IAEjB0b,EAAUrf,KAAOO,EAAI4H,EAAK1H,EAAI4H,EAAK1H,EACnC0e,EAAUrf,KAAOU,EAAI2H,EAAK7H,EAAI2H,EAAKvH,EACnCye,EAAUrf,KAAOwgB,EAAIW,GACrB9B,EAAUrf,KAAOwgB,EAAIY,GACrB7B,EAAOvf,KAAOuT,EACd8L,EAAUrf,KAAO2D,EAEjB0b,EAAUrf,KAAOO,EAAI2H,EAAKzH,EAAI4H,EAAK1H,EACnC0e,EAAUrf,KAAOU,EAAI2H,EAAK7H,EAAI0H,EAAKtH,EACnCye,EAAUrf,KAAOwgB,EAAIlY,GACrB+W,EAAUrf,KAAOwgB,EAAIjY,GACrBgX,EAAOvf,KAAOuT,EACd8L,EAAUrf,KAAO2D,EAEjB0b,EAAUrf,KAAOO,EAAI2H,EAAKzH,EAAI2H,EAAKzH,EACnC0e,EAAUrf,KAAOU,EAAI0H,EAAK5H,EAAI0H,EAAKtH,EACnCye,EAAUrf,KAAOwgB,EAAIhY,GACrB6W,EAAUrf,KAAOwgB,EAAI/X,GACrB8W,EAAOvf,KAAOuT,EACd8L,EAAUrf,KAAO2D,EAEjB0b,EAAUrf,KAAOO,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EACnC0e,EAAUrf,KAAOU,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EACnCye,EAAUrf,KAAOwgB,EAAI9X,GACrB2W,EAAUrf,KAAOwgB,EAAI7X,GACrB4W,EAAOvf,KAAOuT,EACd8L,EAAUrf,KAAO2D,GAGrBrG,KAAK0iB,QAAQ1iB,KAAKsiB,oBAAsBW,IAS5CzkB,EAAK6Y,iBAAiB/U,UAAUyhB,mBAAqB,SAAUd,GAC3D,IAAIllB,EAAUklB,EAAOe,cACjB7d,EAAcpI,EAAQoI,YACtBxI,EAAKqC,KAAKrC,GACV0I,EAAe4c,EAAOllB,QAAQoI,YAAYE,aAC1C7H,EAAK2X,cAAcoH,aAAalX,IAAiBF,IACjDnG,KAAK0L,QACL/N,EAAG6B,cAAc7B,EAAG8B,SAAW4G,GAC/B1I,EAAGM,YAAYN,EAAGO,WAAYiI,EAAY0N,YAAYlW,EAAGmW,KACzDtV,EAAK2X,cAAcoH,aAAalX,GAAgBF,GAIhDnG,KAAKsiB,kBAAoBtiB,KAAKyhB,OAC9BzhB,KAAK0L,QACL1L,KAAKuiB,mBAAqBxkB,EAAQoI,aAIjC8c,EAAOE,OACRF,EAAOE,KAAO,IAAI3kB,EAAKylB,YAG3B,IAAIf,EAAMD,EAAOE,KAEblO,EAAIlX,EAAQoI,YAAYvI,MACxBsmB,EAAInmB,EAAQoI,YAAYtI,OAQ5BolB,EAAOkB,aAAargB,GAAKmR,EAAIgO,EAAOmB,gBAAgBtgB,EACpDmf,EAAOkB,aAAapgB,GAAKmgB,EAAIjB,EAAOmB,gBAAgBrgB,EAEpD,IAAIsgB,EAAUpB,EAAOkB,aAAargB,GAAKmR,EAAIgO,EAAOmB,gBAAgBtgB,GAC9DwgB,EAAUrB,EAAOkB,aAAapgB,GAAKmgB,EAAIjB,EAAOmB,gBAAgBrgB,GAE9DwgB,EAAUtB,EAAOrlB,MAAQqX,GAAMgO,EAAOuB,UAAU1gB,EAAImf,EAAOmB,gBAAgBtgB,GAC3E2gB,EAAUxB,EAAOplB,OAASqmB,GAAMjB,EAAOuB,UAAUzgB,EAAIkf,EAAOmB,gBAAgBrgB,GAEhFmf,EAAIW,GAAK,EAAIQ,EACbnB,EAAIY,GAAK,EAAIQ,EAEbpB,EAAIlY,GAAM,EAAIuZ,EAAUF,EACxBnB,EAAIjY,GAAK,EAAIqZ,EAEbpB,EAAIhY,GAAM,EAAIqZ,EAAUF,EACxBnB,EAAI/X,GAAM,EAAIsZ,EAAUH,EAExBpB,EAAI9X,GAAK,EAAIiZ,EACbnB,EAAI7X,GAAM,EAAIoZ,EAAUH,EAGxB,IAAI7X,EAAOwW,EAAOxW,KACdwJ,GAASxJ,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApBwW,EAAO3hB,YAAoB,IAE7FygB,EAAY/hB,KAAK+hB,UACjBE,EAASjiB,KAAKiiB,OAEdrkB,EAAQqlB,EAAOrlB,MACfC,EAASolB,EAAOplB,OAGhBulB,EAAKH,EAAOvc,OAAO5C,EACnBuf,EAAKJ,EAAOvc,OAAO3C,EACnB6G,EAAKhN,GAAS,EAAIwlB,GAClBvY,EAAKjN,GAASwlB,EAEdtY,EAAKjN,GAAU,EAAIwlB,GACnBtY,EAAKlN,GAAUwlB,EAEf3gB,EAAI1C,KAAKsiB,iBAAmBtiB,KAAK0hB,WAEjC/c,EAAa5G,EAAQoI,YAAYxB,WAEjCnB,EAAKyf,EAAO1hB,eAEZ0B,EAAIO,EAAGP,EAAI0B,EACXzB,EAAIM,EAAGN,EAAIyB,EACXxB,EAAIK,EAAGL,EAAIwB,EACXvB,EAAII,EAAGJ,EAAIuB,EACXtB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAEZye,EAAUrf,KAAOO,EAAI4H,EAAK1H,EAAI4H,EAAK1H,EACnC0e,EAAUrf,KAAOU,EAAI2H,EAAK7H,EAAI2H,EAAKvH,EAEnCye,EAAUrf,KAAOwgB,EAAIW,GACrB9B,EAAUrf,KAAOwgB,EAAIY,GAErB7B,EAAOvf,KAAOuT,EAEd8L,EAAUrf,KAAO2D,EAGjB0b,EAAUrf,KAAQO,EAAI2H,EAAKzH,EAAI4H,EAAK1H,EACpC0e,EAAUrf,KAAOU,EAAI2H,EAAK7H,EAAI0H,EAAKtH,EAEnCye,EAAUrf,KAAOwgB,EAAIlY,GACrB+W,EAAUrf,KAAOwgB,EAAIjY,GAErBgX,EAAOvf,KAAOuT,EAEd8L,EAAUrf,KAAO2D,EAGjB0b,EAAUrf,KAAOO,EAAI2H,EAAKzH,EAAI2H,EAAKzH,EACnC0e,EAAUrf,KAAOU,EAAI0H,EAAK5H,EAAI0H,EAAKtH,EAEnCye,EAAUrf,KAAOwgB,EAAIhY,GACrB6W,EAAUrf,KAAOwgB,EAAI/X,GAErB8W,EAAOvf,KAAOuT,EAEd8L,EAAUrf,KAAO2D,EAGjB0b,EAAUrf,KAAOO,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EACnC0e,EAAUrf,KAAOU,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EAEnCye,EAAUrf,KAAOwgB,EAAI9X,GACrB2W,EAAUrf,KAAOwgB,EAAI7X,GAErB4W,EAAOvf,KAAOuT,EAEd8L,EAAUrf,KAAO2D,EAGjBrG,KAAK0iB,QAAQ1iB,KAAKsiB,oBAAsBW,GAQ5CzkB,EAAK6Y,iBAAiB/U,UAAUoJ,MAAQ,WAEpC,GAA8B,IAA1B1L,KAAKsiB,iBAAT,CAIA,IACI1V,EADAjP,EAAKqC,KAAKrC,GAGd,GAAIqC,KAAKoR,MAAO,CACZpR,KAAKoR,OAAQ,EAEbxE,EAAS5M,KAAK4gB,cAAc6B,QAAQ9kB,EAAGmW,IAGvCnW,EAAG6B,cAAc7B,EAAG8B,UAGpB9B,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAK4iB,cACpCjlB,EAAGqiB,WAAWriB,EAAGyiB,qBAAsBpgB,KAAKqgB,aAE5C,IAAIqE,EAAS1kB,KAAK0hB,WAClB/jB,EAAGuiB,oBAAoBtT,EAAOuF,gBAAiB,EAAGxU,EAAGwiB,OAAO,EAAOuE,EAAQ,GAC3E/mB,EAAGuiB,oBAAoBtT,EAAOyF,cAAe,EAAG1U,EAAGwiB,OAAO,EAAOuE,EAAQ,GAGzE/mB,EAAGuiB,oBAAoBtT,EAAO0F,eAAgB,EAAG3U,EAAGoB,eAAe,EAAM2lB,EAAQ,IAGjF/mB,EAAGuiB,oBAAoBtT,EAAO2F,cAAe,EAAG5U,EAAGwiB,OAAO,EAAOuE,EAAQ,IAI7E,GAAI1kB,KAAKsiB,iBAAgC,GAAZtiB,KAAKyhB,KAC9B9jB,EAAGgnB,cAAchnB,EAAGsiB,aAAc,EAAGjgB,KAAK6hB,cACvC,CACHlkB,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAK4iB,cACpC,IAAIjM,EAAO3W,KAAK+hB,UAAU6C,SAAS,EAAG5kB,KAAKsiB,iBAAmBtiB,KAAK0hB,YACnE/jB,EAAGgnB,cAAchnB,EAAGsiB,aAAc,EAAGtJ,GAgBzC,IAAK,IAbDkO,EAAaC,EAAeC,EAU5B9B,EATA+B,EAAY,EACZhZ,EAAQ,EAERuW,EAAqB,KACrB/U,EAAmBxN,KAAK2F,cAAc+R,iBAAiBlK,iBACvD+T,EAAgB,KAEhB0D,GAAY,EACZC,GAAa,EAIRxiB,EAAI,EAAG+E,EAAIzH,KAAKsiB,iBAAkB5f,EAAI+E,EAAG/E,IAAK,CAK/CmiB,GAHJ5B,EAASjjB,KAAK0iB,QAAQhgB,IAEXshB,cACOf,EAAOe,cAAc7d,YAErB8c,EAAOllB,QAAQoI,YAMjC8e,EAAYzX,KAHZsX,EAAgB7B,EAAOpb,WAIvBqd,EAAa3D,KAHbwD,EAAa9B,EAAOrW,QAAU5M,KAAK4gB,eAKnC,IAAIuE,EAAON,EAAY1X,WAMvB,GAJIgY,GAAQlC,EAAOxgB,SAASE,OAAS,IACjCwiB,GAAO,IAIPF,GACAC,KACAllB,KAAKolB,YAAY7C,EAAoByC,EAAWhZ,GAEhDA,EAAQtJ,EACRsiB,EAAY,EACZzC,EAAqBsC,EAEjBI,IACAzX,EAAmBsX,EACnB9kB,KAAK2F,cAAc+R,iBAAiBmD,aAAarN,IAGjD0X,GAAY,EAGZtY,GAFA2U,EAAgBwD,GAEOtC,QAAQ9kB,EAAGmW,QAG9BlH,EAAS,IAAIpO,EAAKuS,WAAWpT,IAEtB0S,YAAckR,EAAclR,YACnCzD,EAAOiG,SAAW0O,EAAc1O,SAChCjG,EAAO0E,OAEPiQ,EAAckB,QAAQ9kB,EAAGmW,IAAMlH,GAInC5M,KAAK2F,cAAcwR,cAAcsI,UAAU7S,GAEvCA,EAAOwE,OACPxE,EAAOkI,eAKX,IAAImC,EAAajX,KAAK2F,cAAcsR,WACpCtZ,EAAGiiB,UAAUhT,EAAOoF,iBAAkBiF,EAAWnT,EAAGmT,EAAWlT,GAG/D,IAAIkO,EAAejS,KAAK2F,cAAcuR,OACtCvZ,EAAGiiB,UAAUhT,EAAOqF,aAAcA,EAAanO,EAAGmO,EAAalO,GAMvEihB,IAGJhlB,KAAKolB,YAAY7C,EAAoByC,EAAWhZ,GAGhDhM,KAAKsiB,iBAAmB,EACxBtiB,KAAK2F,cAAcmS,eASvBtZ,EAAK6Y,iBAAiB/U,UAAU8iB,YAAc,SAAUrnB,EAAS0jB,EAAM4D,GACnE,GAAa,IAAT5D,EAAJ,CAIA,IAAI9jB,EAAKqC,KAAKrC,GAGd,GAAII,EAAQmX,OAAOvX,EAAGmW,KAClB,IAAK9T,KAAK2F,cAAcf,SAASwQ,cAAcrX,GAE3C,YAGJJ,EAAGM,YAAYN,EAAGO,WAAYH,EAAQ8V,YAAYlW,EAAGmW,KAGzDnW,EAAGqhB,aAAarhB,EAAG2nB,UAAkB,EAAP7D,EAAU9jB,EAAGuhB,eAA6B,EAAbmG,EAAiB,GAE5ErlB,KAAK2F,cAAckS,cAMvBrZ,EAAK6Y,iBAAiB/U,UAAUuJ,KAAO,WACnC7L,KAAK0L,QACL1L,KAAKoR,OAAQ,GAMjB5S,EAAK6Y,iBAAiB/U,UAAU0J,MAAQ,WACpChM,KAAKoR,OAAQ,GAQjB5S,EAAK6Y,iBAAiB/U,UAAUE,QAAU,WACtCxC,KAAK6hB,SAAW,KAChB7hB,KAAKwS,QAAU,KAEfxS,KAAKrC,GAAG4nB,aAAavlB,KAAK4iB,cAC1B5iB,KAAKrC,GAAG4nB,aAAavlB,KAAKqgB,aAE1BrgB,KAAKuiB,mBAAqB,KAE1BviB,KAAKrC,GAAK,MAiBda,EAAKgnB,qBAAuB,SAAS7nB,GAOjCqC,KAAKwhB,SAAW,GAMhBxhB,KAAKylB,QAAU,IAMfzlB,KAAKyhB,KAAOzhB,KAAKylB,QAGjB,IAAI9D,EAAuB,EAAZ3hB,KAAKyhB,KAAYzhB,KAAKwhB,SAGjCI,EAA4B,EAAf5hB,KAAKylB,QAOtBzlB,KAAK6hB,SAAW,IAAIG,aAAaL,GAOjC3hB,KAAKwS,QAAU,IAAI2P,YAAYP,GAM/B5hB,KAAK4iB,aAAe,KAMpB5iB,KAAKqgB,YAAc,KAMnBrgB,KAAKoiB,eAAiB,EAEtB,IAAK,IAAI1f,EAAE,EAAG+E,EAAE,EAAG/E,EAAIkf,EAAYlf,GAAK,EAAG+E,GAAK,EAE5CzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAO9BzH,KAAKqiB,SAAU,EAMfriB,KAAKsiB,iBAAmB,EAMxBtiB,KAAKuiB,mBAAqB,KAM1BviB,KAAKwN,iBAAmB,EAMxBxN,KAAK2F,cAAgB,KAMrB3F,KAAK4M,OAAS,KAMd5M,KAAKqN,OAAS,KAEdrN,KAAK4Y,WAAWjb,IAGpBa,EAAKgnB,qBAAqBljB,UAAUC,YAAc/D,EAAKgnB,qBAQvDhnB,EAAKgnB,qBAAqBljB,UAAUsW,WAAa,SAASjb,GAEtDqC,KAAKrC,GAAKA,EAGVqC,KAAK4iB,aAAejlB,EAAGklB,eACvB7iB,KAAKqgB,YAAc1iB,EAAGklB,eAKtBllB,EAAGqiB,WAAWriB,EAAGyiB,qBAAsBpgB,KAAKqgB,aAC5C1iB,EAAGmlB,WAAWnlB,EAAGyiB,qBAAsBpgB,KAAKwS,QAAS7U,EAAGolB,aAExDplB,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAK4iB,cACpCjlB,EAAGmlB,WAAWnlB,EAAGsiB,aAAcjgB,KAAK6hB,SAAUlkB,EAAGqlB,eAQrDxkB,EAAKgnB,qBAAqBljB,UAAUwY,MAAQ,SAASrP,EAAa9F,GAE9D3F,KAAK2F,cAAgBA,EACrB3F,KAAK4M,OAAS5M,KAAK2F,cAAcwR,cAAc0J,WAE/C7gB,KAAKqN,OAAS5B,EAAYlK,eAAeoe,SAAQ,GAEjD3f,KAAKgM,SAMTxN,EAAKgnB,qBAAqBljB,UAAUyY,IAAM,WAEtC/a,KAAK0L,SAOTlN,EAAKgnB,qBAAqBljB,UAAU4C,OAAS,SAAUuG,GAEnD,IAAIhJ,EAAWgJ,EAAYhJ,SACvBwgB,EAASxgB,EAAS,GAKtB,GAAIwgB,EAAOllB,QAAQolB,KAAnB,CAEAnjB,KAAKuiB,mBAAqBU,EAAOllB,QAAQoI,YAGtC8c,EAAOpb,YAAc7H,KAAK2F,cAAc+R,iBAAiBlK,mBAExDxN,KAAK0L,QACL1L,KAAK2F,cAAc+R,iBAAiBmD,aAAaoI,EAAOpb,YAG5D,IAAI,IAAInF,EAAE,EAAE+E,EAAGhF,EAASE,OAAQD,EAAE+E,EAAG/E,IAEjC1C,KAAK0lB,aAAajjB,EAASC,IAG/B1C,KAAK0L,UAOTlN,EAAKgnB,qBAAqBljB,UAAUojB,aAAe,SAASzC,GAExD,IACI9c,EADU8c,EAAOllB,QACKoI,YACtBxI,EAAKqC,KAAKrC,GACV0I,EAAe4c,EAAOllB,QAAQoI,YAAYE,aAE9C,IAAI7H,EAAK2X,cAAcoH,aAAalX,IAAiBF,IACjDA,EAAY0N,YAAYlW,EAAGmW,KAAQmP,EAAOllB,QAAQoI,YAAYgH,aAC9DnN,KAAK0L,QACL/N,EAAG6B,cAAc7B,EAAG8B,SAAW4G,GAC/B1I,EAAGM,YAAYN,EAAGO,WAAYiI,EAAY0N,YAAYlW,EAAGmW,KACzDtV,EAAK2X,cAAcoH,aAAalX,GAAgBF,EAC5C8c,EAAOllB,QAAQolB,QAInBF,EAAO/hB,QAAX,CAEA,IAAIgiB,EAA8CtY,EAAIC,EAAIC,EAAIC,EAAIvC,EAAzDqZ,EAAW7hB,KAAK6hB,SAOzB,GALAqB,EAAMD,EAAOllB,QAAQolB,KAEbF,EAAOllB,QAAQiP,MAAMpP,MACpBqlB,EAAOllB,QAAQiP,MAAMnP,OAE1BolB,EAAOllB,QAAQgQ,KACnB,CAEI,IAAIA,EAAOkV,EAAOllB,QAAQgQ,KAG1BnD,GADAC,EAAKkD,EAAKjK,EAAImf,EAAOvc,OAAO5C,EAAIiK,EAAKnQ,OAC3BqlB,EAAOllB,QAAQwP,KAAK3P,MAG9BkN,GADAC,EAAKgD,EAAKhK,EAAIkf,EAAOvc,OAAO3C,EAAIgK,EAAKlQ,QAC3BolB,EAAOllB,QAAQwP,KAAK1P,YAI9B+M,EAAMqY,EAAOllB,QAAQiP,MAAY,OAAK,EAAEiW,EAAOvc,OAAO5C,GACtD+G,EAAMoY,EAAOllB,QAAQiP,MAAY,OAAKiW,EAAOvc,OAAO5C,EAEpDgH,EAAKmY,EAAOllB,QAAQiP,MAAMnP,QAAU,EAAEolB,EAAOvc,OAAO3C,GACpDgH,EAAKkY,EAAOllB,QAAQiP,MAAMnP,QAAUolB,EAAOvc,OAAO3C,EAGtDyE,EAAgC,EAAxBxI,KAAKsiB,iBAAuBtiB,KAAKwhB,SAEzCK,EAASrZ,KAAWqC,EACpBgX,EAASrZ,KAAWuC,EAEpB8W,EAASrZ,KAAWya,EAAOriB,SAASkD,EACpC+d,EAASrZ,KAAWya,EAAOriB,SAASmD,EAGpC8d,EAASrZ,KAAWya,EAAOniB,MAAMgD,EACjC+d,EAASrZ,KAAWya,EAAOniB,MAAMiD,EAGjC8d,EAASrZ,KAAWya,EAAOjiB,SAG3B6gB,EAASrZ,KAAW0a,EAAIW,GACxBhC,EAASrZ,KAAW0a,EAAIjY,GAExB4W,EAASrZ,KAAWya,EAAOhiB,MAE3B4gB,EAASrZ,KAAWnC,EAIpBwb,EAASrZ,KAAWoC,EACpBiX,EAASrZ,KAAWuC,EAEpB8W,EAASrZ,KAAWya,EAAOriB,SAASkD,EACpC+d,EAASrZ,KAAWya,EAAOriB,SAASmD,EAGpC8d,EAASrZ,KAAWya,EAAOniB,MAAMgD,EACjC+d,EAASrZ,KAAWya,EAAOniB,MAAMiD,EAGjC8d,EAASrZ,KAAWya,EAAOjiB,SAG3B6gB,EAASrZ,KAAW0a,EAAIlY,GACxB6W,EAASrZ,KAAW0a,EAAIjY,GAExB4W,EAASrZ,KAAWya,EAAOhiB,MAE3B4gB,EAASrZ,KAAWnC,EAGpBwb,EAASrZ,KAAWoC,EACpBiX,EAASrZ,KAAWsC,EAEpB+W,EAASrZ,KAAWya,EAAOriB,SAASkD,EACpC+d,EAASrZ,KAAWya,EAAOriB,SAASmD,EAGpC8d,EAASrZ,KAAWya,EAAOniB,MAAMgD,EACjC+d,EAASrZ,KAAWya,EAAOniB,MAAMiD,EAGjC8d,EAASrZ,KAAWya,EAAOjiB,SAG3B6gB,EAASrZ,KAAW0a,EAAIhY,GACxB2W,EAASrZ,KAAW0a,EAAI/X,GAExB0W,EAASrZ,KAAWya,EAAOhiB,MAE3B4gB,EAASrZ,KAAWnC,EAKpBwb,EAASrZ,KAAWqC,EACpBgX,EAASrZ,KAAWsC,EAEpB+W,EAASrZ,KAAWya,EAAOriB,SAASkD,EACpC+d,EAASrZ,KAAWya,EAAOriB,SAASmD,EAGpC8d,EAASrZ,KAAWya,EAAOniB,MAAMgD,EACjC+d,EAASrZ,KAAWya,EAAOniB,MAAMiD,EAGjC8d,EAASrZ,KAAWya,EAAOjiB,SAG3B6gB,EAASrZ,KAAW0a,EAAI9X,GACxByW,EAASrZ,KAAW0a,EAAI7X,GAExBwW,EAASrZ,KAAWya,EAAOhiB,MAE3B4gB,EAASrZ,KAAWnC,IAGpBrG,KAAKsiB,kBAEuBtiB,KAAKyhB,MAE7BzhB,KAAK0L,UAOblN,EAAKgnB,qBAAqBljB,UAAUoJ,MAAQ,WAGxC,GAA4B,IAAxB1L,KAAKsiB,iBAAT,CAEA,IAAI3kB,EAAKqC,KAAKrC,GAId,GAAIqC,KAAKuiB,mBAAmB1O,YAAYlW,EAAGmW,IAA3C,CASA,GAAG9T,KAAKsiB,iBAAiC,GAAZtiB,KAAKyhB,KAE9B9jB,EAAGgnB,cAAchnB,EAAGsiB,aAAc,EAAGjgB,KAAK6hB,cAG9C,CACI,IAAIlL,EAAO3W,KAAK6hB,SAAS+C,SAAS,EAA2B,EAAxB5kB,KAAKsiB,iBAAuBtiB,KAAKwhB,UAEtE7jB,EAAGgnB,cAAchnB,EAAGsiB,aAAc,EAAGtJ,GAIzChZ,EAAGqhB,aAAarhB,EAAG2nB,UAAmC,EAAxBtlB,KAAKsiB,iBAAsB3kB,EAAGuhB,eAAgB,GAG5Elf,KAAKsiB,iBAAmB,EAGxBtiB,KAAK2F,cAAckS,YACnB7X,KAAK2F,cAAcmS,kBA3Bf9X,KAAK2F,cAAcf,SAASwQ,cAAcpV,KAAKuiB,mBAAoB5kB,KAmC3Ea,EAAKgnB,qBAAqBljB,UAAUuJ,KAAO,WAEvC7L,KAAK0L,SAMTlN,EAAKgnB,qBAAqBljB,UAAU0J,MAAQ,WAExC,IAAIrO,EAAKqC,KAAKrC,GAGdA,EAAG6B,cAAc7B,EAAG8B,UAGpB9B,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAK4iB,cACpCjlB,EAAGqiB,WAAWriB,EAAGyiB,qBAAsBpgB,KAAKqgB,aAG5C,IAAIpJ,EAAajX,KAAK2F,cAAcsR,WACpCtZ,EAAGiiB,UAAU5f,KAAK4M,OAAOoF,iBAAkBiF,EAAWnT,EAAGmT,EAAWlT,GAGpEpG,EAAGgW,iBAAiB3T,KAAK4M,OAAO2I,SAAS,EAAOvV,KAAKqN,QAGrD,IAAIqX,EAA0B,EAAhB1kB,KAAKwhB,SAEnB7jB,EAAGuiB,oBAAoBlgB,KAAK4M,OAAOuF,gBAAiB,EAAGxU,EAAGwiB,OAAO,EAAOuE,EAAQ,GAChF/mB,EAAGuiB,oBAAoBlgB,KAAK4M,OAAO4I,eAAgB,EAAG7X,EAAGwiB,OAAO,EAAOuE,EAAQ,GAC/E/mB,EAAGuiB,oBAAoBlgB,KAAK4M,OAAO6I,OAAQ,EAAG9X,EAAGwiB,OAAO,EAAOuE,EAAQ,IACvE/mB,EAAGuiB,oBAAoBlgB,KAAK4M,OAAO8I,UAAW,EAAG/X,EAAGwiB,OAAO,EAAOuE,EAAQ,IAC1E/mB,EAAGuiB,oBAAoBlgB,KAAK4M,OAAOyF,cAAe,EAAG1U,EAAGwiB,OAAO,EAAOuE,EAAQ,IAC9E/mB,EAAGuiB,oBAAoBlgB,KAAK4M,OAAO0F,eAAgB,EAAG3U,EAAGwiB,OAAO,EAAOuE,EAAQ,IAC/E/mB,EAAGuiB,oBAAoBlgB,KAAK4M,OAAO2F,cAAe,EAAG5U,EAAGwiB,OAAO,EAAOuE,EAAQ,KAYlFlmB,EAAK+Y,mBAAqB,WAMtBvX,KAAK2lB,eAML3lB,KAAKqkB,QAAU,EAMfrkB,KAAKskB,QAAU,GAGnB9lB,EAAK+Y,mBAAmBjV,UAAUC,YAAc/D,EAAK+Y,mBAQrD/Y,EAAK+Y,mBAAmBjV,UAAUsW,WAAa,SAASjb,GAEpDqC,KAAKrC,GAAKA,EACVqC,KAAK4lB,eAEL5lB,KAAK6lB,qBAQTrnB,EAAK+Y,mBAAmBjV,UAAUwY,MAAQ,SAASnV,EAAeiV,GAE9D5a,KAAK2F,cAAgBA,EACrB3F,KAAK4gB,cAAgBjb,EAAcwR,cAAcyJ,cAEjD,IAAI3J,EAAajX,KAAK2F,cAAcsR,WACpCjX,KAAKpC,MAAuB,EAAfqZ,EAAWnT,EACxB9D,KAAKnC,OAAyB,GAAfoZ,EAAWlT,EAC1B/D,KAAK4a,OAASA,GASlBpc,EAAK+Y,mBAAmBjV,UAAUsJ,WAAa,SAASka,GAEpD,IAAInoB,EAAKqC,KAAKrC,GAEVsZ,EAAajX,KAAK2F,cAAcsR,WAChCC,EAASlX,KAAK2F,cAAcuR,OAEhC4O,EAAYC,YAAcD,EAAYle,OAAO/F,YAAcikB,EAAYle,OAAOgC,YAG9Ekc,EAAYE,sBAAwBhmB,KAAK2F,cAAc6R,eACvDxX,KAAK2F,cAAc6R,eAAiB,IAAIhZ,EAAKiZ,oBAC7CzX,KAAK2F,cAAc6R,eAAeoB,WAAWjb,GAC7CA,EAAG4a,QAAQ5a,EAAG2gB,cAKdte,KAAK2lB,YAAYje,KAAKoe,GAEtB,IAAIG,EAASH,EAAYte,aAAa,GAEtCxH,KAAKqkB,SAAWyB,EAAYC,YAAYjiB,EACxC9D,KAAKskB,SAAWwB,EAAYC,YAAYhiB,EAExC,IAAIhG,EAAUiC,KAAK4lB,YAAYrF,MAC3BxiB,EAMAA,EAAQmI,OAAOlG,KAAKpC,MAAQoC,KAAK2F,cAAchB,WAAY3E,KAAKnC,OAASmC,KAAK2F,cAAchB,YAJ5F5G,EAAU,IAAIS,EAAK0nB,cAAclmB,KAAKrC,GAAIqC,KAAKpC,MAAQoC,KAAK2F,cAAchB,WAAY3E,KAAKnC,OAASmC,KAAK2F,cAAchB,YAO3HhH,EAAGM,YAAYN,EAAGO,WAAaH,EAAQA,SAEvC,IAAI8D,EAAaikB,EAAYC,YAEzBI,EAAUF,EAAOE,QACrBtkB,EAAWiC,GAAKqiB,EAChBtkB,EAAWkC,GAAKoiB,EAChBtkB,EAAWjE,OAAmB,EAAVuoB,EACpBtkB,EAAWhE,QAAoB,EAAVsoB,EAGlBtkB,EAAWiC,EAAI,IAAEjC,EAAWiC,EAAI,GAChCjC,EAAWjE,MAAQoC,KAAKpC,QAAMiE,EAAWjE,MAAQoC,KAAKpC,OACtDiE,EAAWkC,EAAI,IAAElC,EAAWkC,EAAI,GAChClC,EAAWhE,OAASmC,KAAKnC,SAAOgE,EAAWhE,OAASmC,KAAKnC,QAG5DF,EAAG+B,gBAAgB/B,EAAGgC,YAAa5B,EAAQqoB,aAG3CzoB,EAAGuc,SAAS,EAAG,EAAGrY,EAAWjE,MAAQoC,KAAK2F,cAAchB,WAAY9C,EAAWhE,OAASmC,KAAK2F,cAAchB,YAE3GsS,EAAWnT,EAAIjC,EAAWjE,MAAM,EAChCqZ,EAAWlT,GAAKlC,EAAWhE,OAAO,EAElCqZ,EAAOpT,GAAKjC,EAAWiC,EACvBoT,EAAOnT,GAAKlC,EAAWkC,EAQvBpG,EAAG8gB,WAAU,GAAM,GAAM,GAAM,GAC/B9gB,EAAGwc,WAAW,EAAE,EAAE,EAAG,GACrBxc,EAAG2c,MAAM3c,EAAG4c,kBAEZuL,EAAYO,iBAAmBtoB,GASnCS,EAAK+Y,mBAAmBjV,UAAU4J,UAAY,WAE1C,IAAIvO,EAAKqC,KAAKrC,GACVmoB,EAAc9lB,KAAK2lB,YAAYpF,MAC/B1e,EAAaikB,EAAYC,YACzBhoB,EAAU+nB,EAAYO,iBACtBpP,EAAajX,KAAK2F,cAAcsR,WAChCC,EAASlX,KAAK2F,cAAcuR,OAEhC,GAAG4O,EAAYte,aAAa7E,OAAS,EACrC,CACIhF,EAAGuc,SAAS,EAAG,EAAGrY,EAAWjE,MAAQoC,KAAK2F,cAAchB,WAAY9C,EAAWhE,OAASmC,KAAK2F,cAAchB,YAE3GhH,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAK4iB,cAEpC5iB,KAAKsmB,YAAY,GAAK,EACtBtmB,KAAKsmB,YAAY,GAAKzkB,EAAWhE,OAEjCmC,KAAKsmB,YAAY,GAAKzkB,EAAWjE,MACjCoC,KAAKsmB,YAAY,GAAKzkB,EAAWhE,OAEjCmC,KAAKsmB,YAAY,GAAK,EACtBtmB,KAAKsmB,YAAY,GAAK,EAEtBtmB,KAAKsmB,YAAY,GAAKzkB,EAAWjE,MACjCoC,KAAKsmB,YAAY,GAAK,EAEtB3oB,EAAGgnB,cAAchnB,EAAGsiB,aAAc,EAAGjgB,KAAKsmB,aAE1C3oB,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAKumB,UAEpCvmB,KAAKwmB,QAAQ,GAAK3kB,EAAWjE,MAAMoC,KAAKpC,MACxCoC,KAAKwmB,QAAQ,GAAK3kB,EAAWhE,OAAOmC,KAAKnC,OACzCmC,KAAKwmB,QAAQ,GAAK3kB,EAAWjE,MAAMoC,KAAKpC,MACxCoC,KAAKwmB,QAAQ,GAAK3kB,EAAWhE,OAAOmC,KAAKnC,OAEzCF,EAAGgnB,cAAchnB,EAAGsiB,aAAc,EAAGjgB,KAAKwmB,SAE1C,IAAIC,EAAe1oB,EACf2oB,EAAgB1mB,KAAK4lB,YAAYrF,MACjCmG,IAAcA,EAAgB,IAAIloB,EAAK0nB,cAAclmB,KAAKrC,GAAIqC,KAAKpC,MAAQoC,KAAK2F,cAAchB,WAAY3E,KAAKnC,OAASmC,KAAK2F,cAAchB,aAC/I+hB,EAAcxgB,OAAOlG,KAAKpC,MAAQoC,KAAK2F,cAAchB,WAAY3E,KAAKnC,OAASmC,KAAK2F,cAAchB,YAGlGhH,EAAG+B,gBAAgB/B,EAAGgC,YAAa+mB,EAAcN,aACjDzoB,EAAG2c,MAAM3c,EAAG4c,kBAEZ5c,EAAG4a,QAAQ5a,EAAGgb,OAEd,IAAK,IAAIjW,EAAI,EAAGA,EAAIojB,EAAYte,aAAa7E,OAAO,EAAGD,IACvD,CACI,IAAIikB,EAAab,EAAYte,aAAa9E,GAE1C/E,EAAG+B,gBAAgB/B,EAAGgC,YAAa+mB,EAAcN,aAGjDzoB,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYuoB,EAAa1oB,SAI3CiC,KAAK4mB,gBAAgBD,EAAY9kB,EAAYA,EAAWjE,MAAOiE,EAAWhE,QAG1E,IAAIyP,EAAOmZ,EACXA,EAAeC,EACfA,EAAgBpZ,EAGpB3P,EAAG+a,OAAO/a,EAAGgb,OAEb5a,EAAU0oB,EACVzmB,KAAK4lB,YAAYle,KAAKgf,GAG1B,IAAIT,EAASH,EAAYte,aAAase,EAAYte,aAAa7E,OAAO,GAEtE3C,KAAKqkB,SAAWxiB,EAAWiC,EAC3B9D,KAAKskB,SAAWziB,EAAWkC,EAE3B,IAAI8iB,EAAQ7mB,KAAKpC,MACbkpB,EAAQ9mB,KAAKnC,OAEbwmB,EAAU,EACVC,EAAU,EAEV1J,EAAS5a,KAAK4a,OAGlB,GAA+B,IAA5B5a,KAAK2lB,YAAYhjB,OAEhBhF,EAAG8gB,WAAU,GAAM,GAAM,GAAM,OAGnC,CACI,IAAIsI,EAAgB/mB,KAAK2lB,YAAY3lB,KAAK2lB,YAAYhjB,OAAO,GAG7DkkB,GAFAhlB,EAAaklB,EAAchB,aAERnoB,MACnBkpB,EAAQjlB,EAAWhE,OAEnBwmB,EAAUxiB,EAAWiC,EACrBwgB,EAAUziB,EAAWkC,EAErB6W,EAAUmM,EAAcV,iBAAiBD,YAI7CnP,EAAWnT,EAAI+iB,EAAM,EACrB5P,EAAWlT,GAAK+iB,EAAM,EAEtB5P,EAAOpT,EAAIugB,EACXnN,EAAOnT,EAAIugB,EAIX,IAAIxgB,GAFJjC,EAAaikB,EAAYC,aAENjiB,EAAEugB,EACjBtgB,EAAIlC,EAAWkC,EAAEugB,EAIrB3mB,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAK4iB,cAEpC5iB,KAAKsmB,YAAY,GAAKxiB,EACtB9D,KAAKsmB,YAAY,GAAKviB,EAAIlC,EAAWhE,OAErCmC,KAAKsmB,YAAY,GAAKxiB,EAAIjC,EAAWjE,MACrCoC,KAAKsmB,YAAY,GAAKviB,EAAIlC,EAAWhE,OAErCmC,KAAKsmB,YAAY,GAAKxiB,EACtB9D,KAAKsmB,YAAY,GAAKviB,EAEtB/D,KAAKsmB,YAAY,GAAKxiB,EAAIjC,EAAWjE,MACrCoC,KAAKsmB,YAAY,GAAKviB,EAEtBpG,EAAGgnB,cAAchnB,EAAGsiB,aAAc,EAAGjgB,KAAKsmB,aAE1C3oB,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAKumB,UAEpCvmB,KAAKwmB,QAAQ,GAAK3kB,EAAWjE,MAAMoC,KAAKpC,MACxCoC,KAAKwmB,QAAQ,GAAK3kB,EAAWhE,OAAOmC,KAAKnC,OACzCmC,KAAKwmB,QAAQ,GAAK3kB,EAAWjE,MAAMoC,KAAKpC,MACxCoC,KAAKwmB,QAAQ,GAAK3kB,EAAWhE,OAAOmC,KAAKnC,OAEzCF,EAAGgnB,cAAchnB,EAAGsiB,aAAc,EAAGjgB,KAAKwmB,SAE1C7oB,EAAGuc,SAAS,EAAG,EAAG2M,EAAQ7mB,KAAK2F,cAAchB,WAAYmiB,EAAQ9mB,KAAK2F,cAAchB,YAGpFhH,EAAG+B,gBAAgB/B,EAAGgC,YAAaib,GAMnCjd,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYH,EAAQA,SAGlCiC,KAAK2F,cAAc6R,gBACnBxX,KAAK2F,cAAc6R,eAAehV,UAEtCxC,KAAK2F,cAAc6R,eAAiBsO,EAAYE,sBAChDF,EAAYE,sBAAwB,KAChChmB,KAAK2F,cAAc6R,eAAe0G,MAAQ,EAC1CvgB,EAAG+a,OAAO/a,EAAG2gB,cAGb3gB,EAAG4a,QAAQ5a,EAAG2gB,cAKlBte,KAAK4mB,gBAAgBX,EAAQpkB,EAAYglB,EAAOC,GAQhD9mB,KAAK4lB,YAAYle,KAAK3J,GACtB+nB,EAAYO,iBAAmB,MAanC7nB,EAAK+Y,mBAAmBjV,UAAUskB,gBAAkB,SAASX,EAAQpkB,EAAYjE,EAAOC,GAGpF,IAAIF,EAAKqC,KAAKrC,GACViP,EAASqZ,EAAOxD,QAAQ9kB,EAAGmW,IAE3BlH,KAEAA,EAAS,IAAIpO,EAAKuS,WAAWpT,IAEtB0S,YAAc4V,EAAO5V,YAC5BzD,EAAOiG,SAAWoT,EAAOpT,SACzBjG,EAAO0E,MAAK,GAEZ2U,EAAOxD,QAAQ9kB,EAAGmW,IAAMlH,GAI5B5M,KAAK2F,cAAcwR,cAAcsI,UAAU7S,GAI3CjP,EAAGiiB,UAAUhT,EAAOoF,iBAAkBpU,EAAM,GAAIC,EAAO,GACvDF,EAAGiiB,UAAUhT,EAAOqF,aAAc,EAAE,GAEjCgU,EAAOpT,SAASX,aAEf+T,EAAOpT,SAASX,WAAWlL,MAAM,GAAKhH,KAAKpC,MAC3CqoB,EAAOpT,SAASX,WAAWlL,MAAM,GAAKhH,KAAKnC,OAC3CooB,EAAOpT,SAASX,WAAWlL,MAAM,GAAKhH,KAAKsmB,YAAY,GACvDL,EAAOpT,SAASX,WAAWlL,MAAM,GAAKhH,KAAKsmB,YAAY,IAG3D1Z,EAAOkI,eAEPnX,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAK4iB,cACpCjlB,EAAGuiB,oBAAoBtT,EAAOuF,gBAAiB,EAAGxU,EAAGwiB,OAAO,EAAO,EAAG,GAEtExiB,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAKumB,UACpC5oB,EAAGuiB,oBAAoBtT,EAAOyF,cAAe,EAAG1U,EAAGwiB,OAAO,EAAO,EAAG,GAEpExiB,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAKV,aACpC3B,EAAGuiB,oBAAoBtT,EAAO0F,eAAgB,EAAG3U,EAAGwiB,OAAO,EAAO,EAAG,GAErExiB,EAAGqiB,WAAWriB,EAAGyiB,qBAAsBpgB,KAAKqgB,aAG5C1iB,EAAGqhB,aAAarhB,EAAG2nB,UAAW,EAAG3nB,EAAGuhB,eAAgB,GAEpDlf,KAAK2F,cAAckS,aAQvBrZ,EAAK+Y,mBAAmBjV,UAAUujB,kBAAoB,WAElD,IAAIloB,EAAKqC,KAAKrC,GAGdqC,KAAK4iB,aAAejlB,EAAGklB,eACvB7iB,KAAKumB,SAAW5oB,EAAGklB,eACnB7iB,KAAKV,YAAc3B,EAAGklB,eACtB7iB,KAAKqgB,YAAc1iB,EAAGklB,eAItB7iB,KAAKsmB,YAAc,IAAItE,cAAc,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,IAE1CrkB,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAK4iB,cACpCjlB,EAAGmlB,WAAWnlB,EAAGsiB,aAAcjgB,KAAKsmB,YAAa3oB,EAAGolB,aAGpD/iB,KAAKwmB,QAAU,IAAIxE,cAAc,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,IAEtCrkB,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAKumB,UACpC5oB,EAAGmlB,WAAWnlB,EAAGsiB,aAAcjgB,KAAKwmB,QAAS7oB,EAAGolB,aAEhD/iB,KAAKgnB,WAAa,IAAIhF,cAAc,EAAK,SACL,EAAK,SACL,EAAK,SACL,EAAK,WAEzCrkB,EAAGqiB,WAAWriB,EAAGsiB,aAAcjgB,KAAKV,aACpC3B,EAAGmlB,WAAWnlB,EAAGsiB,aAAcjgB,KAAKgnB,WAAYrpB,EAAGolB,aAGnDplB,EAAGqiB,WAAWriB,EAAGyiB,qBAAsBpgB,KAAKqgB,aAC5C1iB,EAAGmlB,WAAWnlB,EAAGyiB,qBAAsB,IAAI+B,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKxkB,EAAGolB,cASnFvkB,EAAK+Y,mBAAmBjV,UAAUE,QAAU,WAExC,IAAI7E,EAAKqC,KAAKrC,GAEdqC,KAAK2lB,YAAc,KAEnB3lB,KAAKqkB,QAAU,EACfrkB,KAAKskB,QAAU,EAGf,IAAK,IAAI5hB,EAAI,EAAGA,EAAI1C,KAAK4lB,YAAYjjB,OAAQD,IACzC1C,KAAK4lB,YAAYljB,GAAGF,UAGxBxC,KAAK4lB,YAAc,KAGnBjoB,EAAG4nB,aAAavlB,KAAK4iB,cACrBjlB,EAAG4nB,aAAavlB,KAAKumB,UACrB5oB,EAAG4nB,aAAavlB,KAAKV,aACrB3B,EAAG4nB,aAAavlB,KAAKqgB,cAwBzB,IAAI7f,GACAymB,MAAO,wBACPC,MAAO,qBACPC,MAAO,wBACPC,MAAO,2BAmwCP,OA9tCJ5oB,EAAK0nB,cAAgB,SAASvoB,EAAIC,EAAOC,EAAQC,EAAWmB,GAExDA,EAAqC,iBAAhBA,EAA2BA,EAAc,EAK9De,KAAKrC,GAAKA,EAOTqC,KAAKomB,YAAcpnB,EAAmBrB,EAAIC,EAAOC,EAAQC,GAAaU,EAAKC,WAAW4oB,QAASpoB,GAK/Fe,KAAKjC,QAAUiC,KAAKomB,YAAY3lB,cAChCT,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKC,aAAeD,KAAKomB,YAAYnmB,cAG1CzB,EAAK0nB,cAAc5jB,UAAUC,YAAc/D,EAAK0nB,cAOhD1nB,EAAK0nB,cAAc5jB,UAAUgY,MAAQ,WAEjC,IAAI3c,EAAKqC,KAAKrC,GAEdA,EAAGwc,WAAW,EAAE,EAAE,EAAG,GACrBxc,EAAG2c,MAAM3c,EAAG4c,mBAUhB/b,EAAK0nB,cAAc5jB,UAAU4D,OAAS,SAAStI,EAAOC,GAElD,GAAGmC,KAAKpC,QAAUA,GAASoC,KAAKnC,SAAWA,EAA3C,CAEAmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEd,IAAIF,EAAKqC,KAAKrC,GACdA,EAAGM,YAAYN,EAAGO,WAAa8B,KAAKjC,SACpCJ,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAOlB,EAAQC,EAAS,EAAGF,EAAGmB,KAAMnB,EAAGoB,cAAe,MAEzFpB,EAAGiC,iBAAiBjC,EAAGkC,aAAcG,KAAKC,cAC1CtC,EAAG2pB,oBAAoB3pB,EAAGkC,aAAclC,EAAG4pB,cAAe3pB,EAAQC,KAQtEW,EAAK0nB,cAAc5jB,UAAUE,QAAU,WAEnC,IAAI7E,EAAKqC,KAAKrC,GACdA,EAAG6pB,kBAAmBxnB,KAAKomB,aAC3BzoB,EAAG8pB,cAAeznB,KAAKjC,SAEvBiC,KAAKomB,YAAc,KACnBpmB,KAAKjC,QAAU,MAenBS,EAAKkpB,aAAe,SAAS9pB,EAAOC,GAQhCmC,KAAKpC,MAAQA,EAQboC,KAAKnC,OAASA,EAQdmC,KAAK4W,OAASpV,OAAOqa,WAAWzT,OAAOpI,KAAMA,KAAKpC,MAAOoC,KAAKnC,QAQ9DmC,KAAKyN,QAAUzN,KAAK4W,OAAOsB,WAAW,MAEtClY,KAAK4W,OAAOhZ,MAAQA,EACpBoC,KAAK4W,OAAO/Y,OAASA,GAGzBW,EAAKkpB,aAAaplB,UAAUC,YAAc/D,EAAKkpB,aAQ/ClpB,EAAKkpB,aAAaplB,UAAUgY,MAAQ,WAEhCta,KAAKyN,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzCxO,KAAKyN,QAAQka,UAAU,EAAE,EAAG3nB,KAAKpC,MAAOoC,KAAKnC,SAUjDW,EAAKkpB,aAAaplB,UAAU4D,OAAS,SAAStI,EAAOC,GAEjDmC,KAAKpC,MAAQoC,KAAK4W,OAAOhZ,MAAQA,EACjCoC,KAAKnC,OAASmC,KAAK4W,OAAO/Y,OAASA,GAQvCW,EAAKkpB,aAAaplB,UAAUE,QAAU,WAElChB,OAAOqa,WAAWC,OAAO9b,OAa7BxB,EAAKopB,kBAAoB,aAIzBppB,EAAKopB,kBAAkBtlB,UAAUC,YAAc/D,EAAKopB,kBASpDppB,EAAKopB,kBAAkBtlB,UAAUyJ,SAAW,SAAS2R,EAAU/X,GAE9D,IAAI8H,EAAU9H,EAAc8H,QAEzBA,EAAQoa,OAER,IAAIC,EAAapK,EAASzc,MACtB8mB,EAAYrK,EAASnc,eAErBoD,EAAagB,EAAchB,WAE/B8I,EAAQe,aAAauZ,EAAU9kB,EAAI0B,EACdojB,EAAU7kB,EAAIyB,EACdojB,EAAU5kB,EAAIwB,EACdojB,EAAU3kB,EAAIuB,EACdojB,EAAU1kB,GAAKsB,EACfojB,EAAUzkB,GAAKqB,GAEpCnG,EAAKwpB,eAAeC,mBAAmBvK,EAAUjQ,GAEjDA,EAAQya,OAERxK,EAASpc,WAAawmB,GAS1BtpB,EAAKopB,kBAAkBtlB,UAAU2J,QAAU,SAAStG,GAEhDA,EAAc8H,QAAQ0a,WAa1B3pB,EAAKkQ,aAAe,aAWpBlQ,EAAKkQ,aAAaC,iBAAmB,SAASsU,EAAQhN,GAElD,IAAIW,EAASqM,EAAOtW,eAAiBnL,OAAOqa,WAAWzT,OAAOpI,MAI9D,OAFAxB,EAAKkQ,aAAa0Z,WAAWnF,EAAOllB,QAASkY,EAAOW,GAE7CA,GAYXpY,EAAKkQ,aAAa2Z,iBAAmB,SAAStqB,EAASkY,EAAOW,GAE1D,IAAInJ,EAAUmJ,EAAOsB,WAAW,MAE5B3K,EAAOxP,EAAQwP,KACf0H,EAAI1H,EAAK3P,MACTsmB,EAAI3W,EAAK1P,OAETE,EAAQsQ,UAER4G,EAAIiP,EACJA,EAAI3W,EAAK3P,OAGTgZ,EAAOhZ,QAAUqX,GAAK2B,EAAO/Y,SAAWqmB,IAExCtN,EAAOhZ,MAAQqX,EACf2B,EAAO/Y,OAASqmB,GAGpBzW,EAAQka,UAAU,EAAG,EAAG1S,EAAGiP,GAE3BzW,EAAQ6a,UAAY,KAAO,SAAmB,EAARrS,GAAWsS,SAAS,KAAKC,QAAQ,GACvE/a,EAAQgb,SAAS,EAAG,EAAGxT,EAAGiP,GAE1BzW,EAAQC,yBAA2B,WACnCD,EAAQmB,UAAU7Q,EAAQoI,YAAY6I,OAAQzB,EAAKzJ,EAAGyJ,EAAKxJ,EAAGkR,EAAGiP,EAAG,EAAG,EAAGjP,EAAGiP,GAE7EzW,EAAQC,yBAA2B,mBACnCD,EAAQmB,UAAU7Q,EAAQoI,YAAY6I,OAAQzB,EAAKzJ,EAAGyJ,EAAKxJ,EAAGkR,EAAGiP,EAAG,EAAG,EAAGjP,EAAGiP,IAajF1lB,EAAKkQ,aAAaga,iBAAmB,SAAS3qB,EAASkY,EAAOW,GAE1D,IAAInJ,EAAUmJ,EAAOsB,WAAW,MAE5B3K,EAAOxP,EAAQwP,KACf0H,EAAI1H,EAAK3P,MACTsmB,EAAI3W,EAAK1P,OAETE,EAAQsQ,UAER4G,EAAIiP,EACJA,EAAI3W,EAAK3P,OAGTgZ,EAAOhZ,QAAUqX,GAAK2B,EAAO/Y,SAAWqmB,IAExCtN,EAAOhZ,MAAQqX,EACf2B,EAAO/Y,OAASqmB,GAGpBzW,EAAQC,yBAA2B,OAEnCD,EAAQmB,UAAU7Q,EAAQoI,YAAY6I,OAAQzB,EAAKzJ,EAAGyJ,EAAKxJ,EAAGkR,EAAGiP,EAAG,EAAG,EAAGjP,EAAGiP,GAS7E,IAAK,IAPDyE,EAAYnnB,OAAOse,MAAMC,cAAc9J,GACvChS,EAAI0kB,EAAU,GAAItO,EAAIsO,EAAU,GAAIzlB,EAAIylB,EAAU,GAElDC,EAAYnb,EAAQob,aAAa,EAAG,EAAG5T,EAAGiP,GAE1C4E,EAASF,EAAU5U,KAEdtR,EAAI,EAAGA,EAAIomB,EAAOnmB,OAAQD,GAAK,EAMpC,GAJAomB,EAAOpmB,EAAI,IAAMuB,EACjB6kB,EAAOpmB,EAAI,IAAM2X,EACjByO,EAAOpmB,EAAI,IAAMQ,GAEZ1E,EAAKkQ,aAAaqa,eACvB,CACI,IAAI9nB,EAAQ6nB,EAAOpmB,EAAI,GAEvBomB,EAAOpmB,EAAI,IAAM,IAAMzB,EACvB6nB,EAAOpmB,EAAI,IAAM,IAAMzB,EACvB6nB,EAAOpmB,EAAI,IAAM,IAAMzB,EAI/BwM,EAAQub,aAAaJ,EAAW,EAAG,IAevCpqB,EAAKyqB,eAAiB,SAAUnmB,GAK5B9C,KAAK8C,KAAOA,EAEPtE,EAAK4X,kBAEN5X,EAAK4X,gBAAkBpW,MAS3BA,KAAKoT,KAAO5R,OAAO0nB,OAQnBlpB,KAAK2E,WAAa7B,EAAK6B,WAYvB3E,KAAK0W,kBAAoB5T,EAAK4T,kBAQ9B1W,KAAKuW,YAAczT,EAAKyT,YAQxBvW,KAAKwW,YAAa,EASlBxW,KAAKpC,MAAQkF,EAAKlF,MAAQoC,KAAK2E,WAS/B3E,KAAKnC,OAASiF,EAAKjF,OAASmC,KAAK2E,WAQjC3E,KAAK2W,KAAO7T,EAAK8T,OAOjB5W,KAAKyN,QAAUzN,KAAK2W,KAAKuB,WAAW,MAAQjX,MAAOjB,KAAKuW,cAQxDvW,KAAKmpB,SAAU,EAQfnpB,KAAKke,MAAQ,EAOble,KAAK8L,YAAc,IAAItN,EAAKopB,kBAO5B5nB,KAAK2F,eACD8H,QAASzN,KAAKyN,QACd3B,YAAa9L,KAAK8L,YAClBhO,UAAW,KACX+P,eAAgBrM,OAAO4nB,OAAOC,mBAAmBrpB,KAAKyN,SAMtDc,aAAa,GAGjBvO,KAAKiY,gBAELjY,KAAKkG,OAAOlG,KAAKpC,MAAOoC,KAAKnC,SAKjCW,EAAKyqB,eAAe3mB,UAAUC,YAAc/D,EAAKyqB,eAQjDzqB,EAAKyqB,eAAe3mB,UAAU4C,OAAS,SAAUxE,GAE7CV,KAAKyN,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAEzCxO,KAAKyN,QAAQG,YAAc,EAE3B5N,KAAK2F,cAAc6H,iBAAmB,EACtCxN,KAAK2F,cAAcsI,OAASjO,KAAK8C,KAAK0X,OAAOC,OAAO3W,EACpD9D,KAAK2F,cAAcuI,OAASlO,KAAK8C,KAAK0X,OAAOC,OAAO1W,EAEpD/D,KAAKyN,QAAQC,yBAA2B,cAEpC4b,UAAUC,YAAcvpB,KAAK2W,KAAK6S,eAElCxpB,KAAKyN,QAAQ6a,UAAY,QACzBtoB,KAAKyN,QAAQ6M,SAGbta,KAAK0W,oBAED1W,KAAKuW,YAELvW,KAAKyN,QAAQka,UAAU,EAAG,EAAG3nB,KAAKpC,MAAOoC,KAAKnC,QAEzC6C,EAAK0Z,WAEVpa,KAAKyN,QAAQ6a,UAAY5nB,EAAK0Z,SAASqP,KACvCzpB,KAAKyN,QAAQgb,SAAS,EAAG,EAAGzoB,KAAKpC,MAAQoC,KAAKnC,UAItDmC,KAAK0a,oBAAoBha,IAI7BlC,EAAKyqB,eAAe3mB,UAAU+W,mBAAqB,SAAUC,KAc7D9a,EAAKyqB,eAAe3mB,UAAUE,QAAU,SAAUknB,QAE3BpjB,IAAfojB,IAA4BA,GAAa,GAEzCA,GAAc1pB,KAAK2W,KAAKtV,QAExBrB,KAAK2W,KAAKtV,OAAOoH,YAAYzI,KAAK2W,MAGtC3W,KAAK2W,KAAO,KACZ3W,KAAKyN,QAAU,KACfzN,KAAK8L,YAAc,KACnB9L,KAAK2F,cAAgB,MAWzBnH,EAAKyqB,eAAe3mB,UAAU4D,OAAS,SAAUtI,EAAOC,GAEpDmC,KAAKpC,MAAQA,EAAQoC,KAAK2E,WAC1B3E,KAAKnC,OAASA,EAASmC,KAAK2E,WAE5B3E,KAAK2W,KAAK/Y,MAAQoC,KAAKpC,MACvBoC,KAAK2W,KAAK9Y,OAASmC,KAAKnC,OAEpBmC,KAAKwW,aAELxW,KAAK2W,KAAKqE,MAAMpd,MAAQoC,KAAKpC,MAAQoC,KAAK2E,WAAa,KACvD3E,KAAK2W,KAAKqE,MAAMnd,OAASmC,KAAKnC,OAASmC,KAAK2E,WAAa,MAGzD3E,KAAK2F,cAAckI,iBAEnB7N,KAAKyN,QAAQzN,KAAK2F,cAAckI,gBAAmB7N,KAAK2F,cAAc7H,YAAcU,EAAKC,WAAWC,SAc5GF,EAAKyqB,eAAe3mB,UAAUoY,oBAAsB,SAAUC,EAAelN,EAASJ,GAElFrN,KAAK2F,cAAc8H,QAAUA,GAAWzN,KAAKyN,QAC7CzN,KAAK2F,cAAchB,WAAa3E,KAAK2E,WACrCgW,EAAc5U,cAAc/F,KAAK2F,cAAe0H,IAUpD7O,EAAKyqB,eAAe3mB,UAAU2V,cAAgB,WAE1C,IAAKzZ,EAAKmP,iBACV,CACI,IAAIzK,KACA8Y,EAAQxd,EAAKsJ,WACb6hB,EAAS3pB,KAAK8C,KAAK8mB,OAAOC,eAE9B3mB,EAAE8Y,EAAMhU,QAAU,cAClB9E,EAAE8Y,EAAMG,KAAO,UACfjZ,EAAE8Y,EAAMjU,UAAY,EAAW,WAAa,cAC5C7E,EAAE8Y,EAAMO,QAAU,EAAW,SAAW,cACxCrZ,EAAE8Y,EAAMQ,SAAW,EAAW,UAAY,cAC1CtZ,EAAE8Y,EAAMS,QAAU,EAAW,SAAW,cACxCvZ,EAAE8Y,EAAMU,SAAW,EAAW,UAAY,cAC1CxZ,EAAE8Y,EAAMW,aAAe,EAAW,cAAgB,cAClDzZ,EAAE8Y,EAAMY,YAAc,EAAW,aAAe,cAChD1Z,EAAE8Y,EAAMa,YAAc,EAAW,aAAe,cAChD3Z,EAAE8Y,EAAMc,YAAc,EAAW,aAAe,cAChD5Z,EAAE8Y,EAAMe,YAAc,EAAW,aAAe,cAChD7Z,EAAE8Y,EAAMgB,WAAa,EAAW,YAAc,cAC9C9Z,EAAE8Y,EAAMiB,KAAO,EAAW,MAAQ,cAClC/Z,EAAE8Y,EAAMkB,YAAc,EAAW,aAAe,cAChDha,EAAE8Y,EAAMmB,OAAS,EAAW,QAAU,cACtCja,EAAE8Y,EAAMoB,YAAc,EAAW,aAAe,cAEhD5e,EAAKmP,iBAAmBzK,IAkBhC1E,EAAKsrB,YAAc,SAAS9a,EAAQlR,EAAW6G,GAQ3C3E,KAAK2E,WAAaA,GAAc,EAShC3E,KAAKpC,MAAQ,IASboC,KAAKnC,OAAS,IASdmC,KAAKlC,UAAYA,GAAaU,EAAKC,WAAW4oB,QAS9CrnB,KAAK8M,WAAY,EAQjB9M,KAAKgP,OAASA,EASdhP,KAAK+W,oBAAqB,EAS1B/W,KAAK6T,eASL7T,KAAKqb,QAAS,EAOdrb,KAAKqG,aAAe,EAOpBrG,KAAKkV,SAAU,GAAM,GAAM,GAAM,GAE5BlG,KAKAhP,KAAKgP,OAAO+a,UAAY/pB,KAAKgP,OAAOkJ,aAAelY,KAAKgP,OAAOpR,OAASoC,KAAKgP,OAAOnR,SAErFmC,KAAK8M,WAAY,EACjB9M,KAAKpC,MAAQoC,KAAKgP,OAAOgb,cAAgBhqB,KAAKgP,OAAOpR,MACrDoC,KAAKnC,OAASmC,KAAKgP,OAAOib,eAAiBjqB,KAAKgP,OAAOnR,OACvDmC,KAAKoR,SAYTpR,KAAKmN,YAAa,EAOlBnN,KAAK0b,WAAY,IAIrBld,EAAKsrB,YAAYxnB,UAAUC,YAAc/D,EAAKsrB,YAW9CtrB,EAAKsrB,YAAYxnB,UAAU4nB,YAAc,SAAStsB,EAAOC,GAErDmC,KAAK8M,WAAY,EACjB9M,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKoR,SAQT5S,EAAKsrB,YAAYxnB,UAAUE,QAAU,WAE7BxC,KAAKgP,QAELxN,OAAOqa,WAAWsO,eAAenqB,KAAKgP,QAG1ChP,KAAKgP,OAAS,KAEdhP,KAAKoqB,iBAUT5rB,EAAKsrB,YAAYxnB,UAAU+nB,kBAAoB,SAASC,GAEpDhqB,QAAQyZ,KAAK,6FAQjBvb,EAAKsrB,YAAYxnB,UAAU8O,MAAQ,WAE/B,IAAK,IAAI1O,EAAI,EAAGA,EAAI1C,KAAK6T,YAAYlR,OAAQD,IAEzC1C,KAAKkV,OAAOxS,IAAK,GAUzBlE,EAAKsrB,YAAYxnB,UAAU8nB,cAAgB,WAEvCpqB,KAAKoR,QAGL,IAAK,IAAI1O,EAAI1C,KAAK6T,YAAYlR,OAAS,EAAGD,GAAK,EAAGA,IAClD,CACI,IAAI6nB,EAAYvqB,KAAK6T,YAAYnR,GAC7B/E,EAAKa,EAAK0X,WAAWxT,GAEtB/E,GAAM4sB,GAEL5sB,EAAG8pB,cAAc8C,GAKzBvqB,KAAK6T,YAAYlR,OAAS,EAE1B3C,KAAKoR,SAaT5S,EAAKsrB,YAAYU,WAAa,SAAS5T,EAAQ9Y,EAAW6G,GActD,OAZqB,IAAjBiS,EAAOhZ,QAEPgZ,EAAOhZ,MAAQ,GAGG,IAAlBgZ,EAAO/Y,SAEP+Y,EAAO/Y,OAAS,GAGpB8G,EAAaA,GAAc,EAEpB,IAAInG,EAAKsrB,YAAYlT,EAAQ9Y,EAAW6G,IAcnDnG,EAAKisB,mBAAoB,EAazBjsB,EAAK+N,QAAU,SAASpG,EAAa6G,EAAOO,EAAMQ,GAQ9C/N,KAAK0qB,SAAU,EAEV1d,IAEDhN,KAAK0qB,SAAU,EACf1d,EAAQ,IAAIxO,EAAKyD,UAAU,EAAE,EAAE,EAAE,IAGjCkE,aAAuB3H,EAAK+N,UAE5BpG,EAAcA,EAAYA,aAS9BnG,KAAKmG,YAAcA,EAQnBnG,KAAKgN,MAAQA,EAQbhN,KAAK+N,KAAOA,EAQZ/N,KAAKoN,OAAQ,EAQbpN,KAAK2qB,UAAW,EAQhB3qB,KAAK4qB,gBAAiB,EAQtB5qB,KAAKyO,gBAAiB,EAStBzO,KAAKmjB,KAAO,KAQZnjB,KAAKpC,MAAQ,EAQboC,KAAKnC,OAAS,EASdmC,KAAKuN,KAAOA,GAAQ,IAAI/O,EAAKyD,UAAU,EAAG,EAAG,EAAG,GAUhDjC,KAAKqO,SAAU,EAEXlI,EAAY2G,YAER9M,KAAK0qB,UAAS1d,EAAQ,IAAIxO,EAAKyD,UAAU,EAAG,EAAGkE,EAAYvI,MAAOuI,EAAYtI,SAClFmC,KAAK6qB,SAAS7d,KAKtBxO,EAAK+N,QAAQjK,UAAUC,YAAc/D,EAAK+N,QAQ1C/N,EAAK+N,QAAQjK,UAAUwoB,oBAAsB,WAEzC,IAAI3kB,EAAcnG,KAAKmG,YAEnBnG,KAAK0qB,UAEL1qB,KAAKgN,MAAQ,IAAIxO,EAAKyD,UAAU,EAAG,EAAGkE,EAAYvI,MAAOuI,EAAYtI,SAGzEmC,KAAK6qB,SAAS7qB,KAAKgN,QASvBxO,EAAK+N,QAAQjK,UAAUE,QAAU,SAAS0K,GAElCA,GAAalN,KAAKmG,YAAY3D,UAElCxC,KAAKoN,OAAQ,GASjB5O,EAAK+N,QAAQjK,UAAUuoB,SAAW,SAAS7d,GAavC,GAXAhN,KAAK0qB,SAAU,EAEf1qB,KAAKgN,MAAQA,EACbhN,KAAKpC,MAAQoP,EAAMpP,MACnBoC,KAAKnC,OAASmP,EAAMnP,OAEpBmC,KAAKuN,KAAKzJ,EAAIkJ,EAAMlJ,EACpB9D,KAAKuN,KAAKxJ,EAAIiJ,EAAMjJ,EACpB/D,KAAKuN,KAAK3P,MAAQoP,EAAMpP,MACxBoC,KAAKuN,KAAK1P,OAASmP,EAAMnP,OAEpBmC,KAAK+N,QAASf,EAAMlJ,EAAIkJ,EAAMpP,MAAQoC,KAAKmG,YAAYvI,OAASoP,EAAMjJ,EAAIiJ,EAAMnP,OAASmC,KAAKmG,YAAYtI,QAW/GmC,KAAKoN,MAAQJ,GAASA,EAAMpP,OAASoP,EAAMnP,QAAUmC,KAAKmG,YAAY6I,QAAUhP,KAAKmG,YAAY2G,UAE7F9M,KAAK+N,OAEL/N,KAAKpC,MAAQoC,KAAK+N,KAAKnQ,MACvBoC,KAAKnC,OAASmC,KAAK+N,KAAKlQ,OACxBmC,KAAKgN,MAAMpP,MAAQoC,KAAK+N,KAAKnQ,MAC7BoC,KAAKgN,MAAMnP,OAASmC,KAAK+N,KAAKlQ,QAG9BmC,KAAKoN,OAAOpN,KAAK+qB,iBArBrB,CAEI,IAAKvsB,EAAKisB,kBAEN,MAAM,IAAI9hB,MAAM,wEAA0E3I,MAG9FA,KAAKoN,OAAQ,IAwBrB5O,EAAK+N,QAAQjK,UAAUyoB,WAAa,WAE5B/qB,KAAKmjB,OAAKnjB,KAAKmjB,KAAO,IAAI3kB,EAAKylB,YAEnC,IAAIjX,EAAQhN,KAAKuN,KACbyd,EAAKhrB,KAAKmG,YAAYvI,MACtBqtB,EAAKjrB,KAAKmG,YAAYtI,OAE1BmC,KAAKmjB,KAAKU,GAAK7W,EAAMlJ,EAAIknB,EACzBhrB,KAAKmjB,KAAKW,GAAK9W,EAAMjJ,EAAIknB,EAEzBjrB,KAAKmjB,KAAKnY,IAAMgC,EAAMlJ,EAAIkJ,EAAMpP,OAASotB,EACzChrB,KAAKmjB,KAAKlY,GAAK+B,EAAMjJ,EAAIknB,EAEzBjrB,KAAKmjB,KAAKjY,IAAM8B,EAAMlJ,EAAIkJ,EAAMpP,OAASotB,EACzChrB,KAAKmjB,KAAKhY,IAAM6B,EAAMjJ,EAAIiJ,EAAMnP,QAAUotB,EAE1CjrB,KAAKmjB,KAAK/X,GAAK4B,EAAMlJ,EAAIknB,EACzBhrB,KAAKmjB,KAAK9X,IAAM2B,EAAMjJ,EAAIiJ,EAAMnP,QAAUotB,GAS9CzsB,EAAK+N,QAAQjK,UAAUshB,mBAAqB,WAEnC5jB,KAAKmjB,OAAQnjB,KAAKmjB,KAAO,IAAI3kB,EAAKylB,YAEvC,IAAIjX,EAAQhN,KAAKuN,KACbyd,EAAKhrB,KAAKmG,YAAYvI,MACtBqtB,EAAKjrB,KAAKmG,YAAYtI,OAE1BmC,KAAKmjB,KAAKU,GAAK7W,EAAMlJ,EAAIknB,EACzBhrB,KAAKmjB,KAAKW,GAAK9W,EAAMjJ,EAAIknB,EAEzBjrB,KAAKmjB,KAAKnY,IAAMgC,EAAMlJ,EAAIkJ,EAAMnP,QAAUmtB,EAC1ChrB,KAAKmjB,KAAKlY,GAAK+B,EAAMjJ,EAAIknB,EAEzBjrB,KAAKmjB,KAAKjY,IAAM8B,EAAMlJ,EAAIkJ,EAAMnP,QAAUmtB,EAC1ChrB,KAAKmjB,KAAKhY,IAAM6B,EAAMjJ,EAAIiJ,EAAMpP,OAASqtB,EAEzCjrB,KAAKmjB,KAAK/X,GAAK4B,EAAMlJ,EAAIknB,EACzBhrB,KAAKmjB,KAAK9X,IAAM2B,EAAMjJ,EAAIiJ,EAAMpP,OAASqtB,GAa7CzsB,EAAK+N,QAAQie,WAAa,SAAS5T,EAAQ9Y,GAEvC,IAAIqI,EAAc3H,EAAKsrB,YAAYU,WAAW5T,EAAQ9Y,GAEtD,OAAO,IAAIU,EAAK+N,QAAQpG,IAG5B3H,EAAKylB,WAAa,WAEdjkB,KAAK6jB,GAAK,EACV7jB,KAAK8jB,GAAK,EAEV9jB,KAAKgL,GAAK,EACVhL,KAAKiL,GAAK,EAEVjL,KAAKkL,GAAK,EACVlL,KAAKmL,GAAK,EAEVnL,KAAKoL,GAAK,EACVpL,KAAKqL,GAAK,GAOa,oBAAZ6f,SACe,oBAAXC,QAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAU1sB,GAE/B0sB,QAAQ1sB,KAAOA,GACU,oBAAX4sB,QAA0BA,OAAOC,IAC/CD,OAAO,OAA6B1qB,EAAKlC,KAAOA,GAEhDkC,EAAKlC,KAAOA,EAGTA,IACR+F,KAAKvE","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","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","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","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","tintedTexture","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","floor","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","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","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","CanvasPool","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","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","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 72c35e169..6ae18a796 100644 --- a/build/custom/pixi.min.js +++ b/build/custom/pixi.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.7 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.8 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()},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)}},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.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,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,w=y*v+_*p+A,P=E*g+S*v+b,U=y*v+_*g+A;d=R,c=M,u=M,l=P<(l=B<(l=C<(l=R)?C:l)?B:l)?P:l,u=U<(u=w<(u=L(d=B>(d=C>d?C:d)?B:d)?P:d,c=U>(c=w>(c=L>c?L:c)?w: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=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 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=(this.currentBatchSize,r.baseTexture.resolution),v=r.baseTexture.textureIndex,T=a.a/g,m=a.b/g,E=a.c/g,_=a.d/g,S=a.tx,y=a.ty,b=(r.crop.width,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,T=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 w=this.colors,P=this.positions,U=e.tint,F=(U>>16)+(65280&U)+((255&U)<<16)+(255*e.worldAlpha<<24);this.renderSession.roundPixels?(P[p++]=T*l+E*d+S|0,P[p++]=_*d+m*l+y|0,P[p++]=n.x0,P[p++]=n.y0,w[p++]=F,P[p++]=v,P[p++]=T*h+E*d+S|0,P[p++]=_*d+m*h+y|0,P[p++]=n.x1,P[p++]=n.y1,w[p++]=F,P[p++]=v,P[p++]=T*h+E*u+S|0,P[p++]=_*u+m*h+y|0,P[p++]=n.x2,P[p++]=n.y2,w[p++]=F,P[p++]=v,P[p++]=T*l+E*u+S|0,P[p++]=_*u+m*l+y|0,P[p++]=n.x3,P[p++]=n.y3,w[p++]=F,P[p++]=v):(P[p++]=T*l+E*d+S,P[p++]=_*d+m*l+y,P[p++]=n.x0,P[p++]=n.y0,w[p++]=F,P[p++]=v,P[p++]=T*h+E*d+S,P[p++]=_*d+m*h+y,P[p++]=n.x1,P[p++]=n.y1,w[p++]=F,P[p++]=v,P[p++]=T*h+E*u+S,P[p++]=_*u+m*h+y,P[p++]=n.x2,P[p++]=n.y2,w[p++]=F,P[p++]=v,P[p++]=T*l+E*u+S,P[p++]=_*u+m*l+y,P[p++]=n.x3,P[p++]=n.y3,w[p++]=F,P[p++]=v),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,v=e.width,T=e.height,m=e.anchor.x,E=e.anchor.y,_=v*(1-m),S=v*-m,y=T*(1-E),b=T*-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,w=M.d/R,P=M.tx,U=M.ty;p[A++]=C*S+B*b+P,p[A++]=w*b+L*S+U,p[A++]=a.x0,p[A++]=a.y0,g[A++]=x,p[A++]=o,p[A++]=C*_+B*b+P,p[A++]=w*b+L*_+U,p[A++]=a.x1,p[A++]=a.y1,g[A++]=x,p[A++]=o,p[A++]=C*_+B*y+P,p[A++]=w*y+L*_+U,p[A++]=a.x2,p[A++]=a.y2,g[A++]=x,p[A++]=o,p[A++]=C*S+B*y+P,p[A++]=w*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,v=this.currentBatchSize;g0&&(T=!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,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}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); +(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()},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)}},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.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,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;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=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 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=(this.currentBatchSize,r.baseTexture.resolution),v=r.baseTexture.textureIndex,T=a.a/g,m=a.b/g,E=a.c/g,_=a.d/g,S=a.tx,y=a.ty,b=(r.crop.width,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,T=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++]=T*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++]=v,w[p++]=T*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++]=v,w[p++]=T*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++]=v,w[p++]=T*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++]=v):(w[p++]=T*l+E*d+S,w[p++]=_*d+m*l+y,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=v,w[p++]=T*h+E*d+S,w[p++]=_*d+m*h+y,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=v,w[p++]=T*h+E*u+S,w[p++]=_*u+m*h+y,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=v,w[p++]=T*l+E*u+S,w[p++]=_*u+m*l+y,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=v),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,v=e.width,T=e.height,m=e.anchor.x,E=e.anchor.y,_=v*(1-m),S=v*-m,y=T*(1-E),b=T*-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,v=this.currentBatchSize;g0&&(T=!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 df999bb6d..81d2cd330 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:12 +* v2.8.8 "2017-09-25" - Built: Mon Sep 25 2017 13:18:40 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -17160,7 +17160,6 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.game = this.game; this.renderSession.gl = this.gl; this.renderSession.drawCount = 0; - this.renderSession.flushCount = 0; this.renderSession.shaderManager = this.shaderManager; this.renderSession.maskManager = this.maskManager; this.renderSession.filterManager = this.filterManager; @@ -17169,6 +17168,7 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.stencilManager = this.stencilManager; this.renderSession.renderer = this; this.renderSession.resolution = this.resolution; + this.renderSession.roundPixels = false; this.renderSession.maxTextureAvailableSpace = null; // filled in setTexturePriority() // time init the context.. @@ -17375,7 +17375,6 @@ PIXI.WebGLRenderer.prototype.renderDisplayObject = function(displayObject, proje // reset the render session data.. this.renderSession.drawCount = 0; - this.renderSession.flushCount = 0; // make sure to flip the Y if using a render texture.. this.renderSession.flipY = buffer ? -1 : 1; @@ -18918,7 +18917,6 @@ PIXI.WebGLSpriteBatch.prototype.flush = function () { // then reset the batch! this.currentBatchSize = 0; - this.renderSession.flushCount++; }; /** @@ -19380,7 +19378,6 @@ PIXI.WebGLFastSpriteBatch.prototype.flush = function() // increment the draw count this.renderSession.drawCount++; - this.renderSession.flushCount++; }; @@ -21235,7 +21232,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.8.7', + VERSION: '2.8.8', /** * An array of Phaser game instances. @@ -21700,15 +21697,15 @@ var Phaser = Phaser || { // jshint ignore:line BOTTOM_RIGHT: 12, /** - * Various blend modes supported by Pixi. + * Various blend modes supported by Pixi. See the samples in {@link https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing Canvas Tutorial: Compositing}. * * IMPORTANT: The WebGL renderer only supports the NORMAL, ADD, MULTIPLY and SCREEN blend modes. * * @constant {Object} Phaser.blendModes - * @property {Number} blendModes.NORMAL - * @property {Number} blendModes.ADD - * @property {Number} blendModes.MULTIPLY - * @property {Number} blendModes.SCREEN + * @property {Number} blendModes.NORMAL - Draws new shapes on top of the existing content. This is the default setting. + * @property {Number} blendModes.ADD - Where both shapes overlap the color is determined by adding color values. + * @property {Number} blendModes.MULTIPLY - The pixels of the top layer are multiplied with the corresponding pixel of the bottom layer, making a darker picture. + * @property {Number} blendModes.SCREEN - The pixels are inverted, multiplied, and inverted again, making a lighter picture. * @property {Number} blendModes.OVERLAY * @property {Number} blendModes.DARKEN * @property {Number} blendModes.LIGHTEN @@ -27875,7 +27872,7 @@ Object.defineProperty(Phaser.Camera.prototype, "shakeIntensity", { * | | preload | create | paused | | * | | loadUpdate* | update* | pauseUpdate* | | * | | | preRender* | | | -* | | loadRender* | render* | pauseRender* | | +* | | loadRender* | render* | render* | | * | | | | resumed | | * | | | | | shutdown | * @@ -29629,7 +29626,7 @@ Phaser.SignalBinding.prototype.constructor = Phaser.SignalBinding; * * The default uniforms, types and values for all Filters are: * -* ``` +* ```javascript * resolution: { type: '2f', value: { x: 256, y: 256 }} * time: { type: '1f', value: 0 } * mouse: { type: '2f', value: { x: 0.0, y: 0.0 } } @@ -29743,7 +29740,7 @@ Phaser.Filter.prototype = { /** * This should be over-ridden. Will receive a variable number of arguments. - * + * * @method Phaser.Filter#init */ init: function () { @@ -29754,7 +29751,7 @@ Phaser.Filter.prototype = { /** * Set the resolution uniforms on the filter. - * + * * @method Phaser.Filter#setResolution * @param {number} width - The width of the display. * @param {number} height - The height of the display. @@ -29768,7 +29765,7 @@ Phaser.Filter.prototype = { /** * Updates the filter. - * + * * @method Phaser.Filter#update * @param {Phaser.Pointer} [pointer] - A Pointer object to use for the filter. The coordinates are mapped to the mouse uniform. */ @@ -29792,7 +29789,7 @@ Phaser.Filter.prototype = { }, /** - * Creates a new Phaser.Image object using a blank texture and assigns + * Creates a new Phaser.Image object using a blank texture and assigns * this Filter to it. The image is then added to the world. * * If you don't provide width and height values then Filter.width and Filter.height are used. @@ -29847,7 +29844,7 @@ Phaser.Filter.prototype = { /** * Syncs the uniforms between the class object and the shaders. - * + * * @method Phaser.Filter#syncUniforms */ syncUniforms: function () { @@ -29861,7 +29858,7 @@ Phaser.Filter.prototype = { /** * Clear down this Filter and null out references to game. - * + * * @method Phaser.Filter#destroy */ destroy: function () { @@ -29929,6 +29926,18 @@ Object.defineProperty(Phaser.Filter.prototype, 'height', { /** * This is a base Plugin template to use for any Phaser plugin development. * +* ##### Callbacks +* +* add | active | visible | remove +* -----|-------------|-------------|-------- +* init | | | +* | preUpdate* | | +* | update* | render* | +* | postUpdate* | postRender* | +* | | | destroy +* +* Update and render calls are repeated (*). +* * @class Phaser.Plugin * @constructor * @param {Phaser.Game} game - A reference to the currently running game. @@ -30603,7 +30612,7 @@ Phaser.Stage.prototype.checkVisibility = function () { }; this._onClick = function (event) { - if (!document.hasFocus()) + if ((document.hasFocus !== undefined) && !document.hasFocus()) { _this.visibilityChange(event); } @@ -35922,25 +35931,44 @@ Phaser.Input = function (game) { this.resetLocked = false; /** - * A Signal that is dispatched each time a pointer is pressed down. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is pressed down. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {Event} The original DOM event. + * * @property {Phaser.Signal} onDown */ this.onDown = null; /** - * A Signal that is dispatched each time a pointer is released. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is released. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {Event} The original DOM event. + * * @property {Phaser.Signal} onUp */ this.onUp = null; /** - * A Signal that is dispatched each time a pointer is tapped. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is tapped. + * It is sent two arguments: + * + * - {Phaser.Pointer} The pointer that caused the event. + * - {boolean} True if this was a double tap. + * * @property {Phaser.Signal} onTap */ this.onTap = null; /** - * A Signal that is dispatched each time a pointer is held down. + * A Signal that is dispatched each time a {@link Phaser.Pointer pointer} is held down. + * It is sent one argument: + * + * - {Phaser.Pointer} The pointer that caused the event. + * * @property {Phaser.Signal} onHold */ this.onHold = null; @@ -45802,21 +45830,21 @@ Phaser.Component.Destroy.prototype = { /** * The Events component is a collection of events fired by the parent Game Object. -* +* * Phaser uses what are known as 'Signals' for all event handling. All of the events in * this class are signals you can subscribe to, much in the same way you'd "listen" for * an event. * * For example to tell when a Sprite has been added to a new group, you can bind a function -* to the `onAddedToGroup` signal: +* to the {@link #onAddedToGroup} signal: * * `sprite.events.onAddedToGroup.add(yourFunction, this);` * * Where `yourFunction` is the function you want called when this event occurs. -* -* For more details about how signals work please see the Phaser.Signal class. * -* The Input-related events will only be dispatched if the Sprite has had `inputEnabled` set to `true` +* For more details about how signals work please see the {@link Phaser.Signal} class. +* +* The Input-related events will only be dispatched if the Sprite has had {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true` * and the Animation-related events only apply to game objects with animations like {@link Phaser.Sprite}. * * @class Phaser.Events @@ -45848,7 +45876,6 @@ Phaser.Events.prototype = { if (this._onDestroy) { this._onDestroy.dispose(); } if (this._onAddedToGroup) { this._onAddedToGroup.dispose(); } if (this._onRemovedFromGroup) { this._onRemovedFromGroup.dispose(); } - if (this._onRemovedFromWorld) { this._onRemovedFromWorld.dispose(); } if (this._onKilled) { this._onKilled.dispose(); } if (this._onRevived) { this._onRevived.dispose(); } if (this._onEnterBounds) { this._onEnterBounds.dispose(); } @@ -45871,186 +45898,213 @@ Phaser.Events.prototype = { // The following properties are sentinels that will be replaced with getters /** - * This signal is dispatched when this Game Object is added to a new Group. + * This signal is dispatched when this Game Object is added to a new {@link Phaser.Group Group}. * It is sent two arguments: - * {any} The Game Object that was added to the Group. - * {Phaser.Group} The Group it was added to. + * + * - {any} The Game Object that was added to the Group. + * - {Phaser.Group} The Group it was added to. + * * @property {Phaser.Signal} onAddedToGroup */ onAddedToGroup: null, /** - * This signal is dispatched when the Game Object is removed from a Group. + * This signal is dispatched when the Game Object is removed from a {@link Phaser.Group Group}. * It is sent two arguments: - * {any} The Game Object that was removed from the Group. - * {Phaser.Group} The Group it was removed from. + * + * - {any} The Game Object that was removed from the Group. + * - {Phaser.Group} The Group it was removed from. + * * @property {Phaser.Signal} onRemovedFromGroup */ onRemovedFromGroup: null, - /** - * This Signal is never used internally by Phaser and is now deprecated. - * @deprecated - * @property {Phaser.Signal} onRemovedFromWorld - */ - onRemovedFromWorld: null, - /** * This signal is dispatched when the Game Object is destroyed. - * This happens when `Sprite.destroy()` is called, or `Group.destroy()` with `destroyChildren` set to true. + * This happens when {@link Phaser.Sprite#destroy Sprite.destroy()} is called, or {@link Phaser.Group#destroy Group.destroy()} with `destroyChildren` set to true. * It is sent one argument: - * {any} The Game Object that was destroyed. + * + * - {any} The Game Object that was destroyed. + * * @property {Phaser.Signal} onDestroy */ onDestroy: null, /** * This signal is dispatched when the Game Object is killed. - * This happens when `Sprite.kill()` is called. - * Please understand the difference between `kill` and `destroy` by looking at their respective methods. + * This happens when {@link Phaser.Sprite#kill Sprite.kill()} is called. + * Please understand the difference between {@link Phaser.Sprite#kill kill} and {@link Phaser.Sprite#destroy destroy} by looking at their respective methods. * It is sent one argument: - * {any} The Game Object that was killed. + * + * - {any} The Game Object that was killed. + * * @property {Phaser.Signal} onKilled */ onKilled: null, /** * This signal is dispatched when the Game Object is revived from a previously killed state. - * This happens when `Sprite.revive()` is called. + * This happens when {@link Phaser.Sprite#revive Sprite.revive()} is called. * It is sent one argument: - * {any} The Game Object that was revived. + * + * - {any} The Game Object that was revived. + * * @property {Phaser.Signal} onRevived */ onRevived: null, /** - * This signal is dispatched when the Game Object leaves the Phaser.World bounds. - * This signal is only if `Sprite.checkWorldBounds` is set to `true`. + * This signal is dispatched when the Game Object leaves the Phaser.World {@link Phaser.World#bounds bounds}. + * This signal is only if {@link Phaser.Sprite#checkWorldBounds Sprite.checkWorldBounds} is set to `true`. * It is sent one argument: - * {any} The Game Object that left the World bounds. + * + * - {any} The Game Object that left the World bounds. + * * @property {Phaser.Signal} onOutOfBounds */ onOutOfBounds: null, /** - * This signal is dispatched when the Game Object returns within the Phaser.World bounds, having previously been outside of them. - * This signal is only if `Sprite.checkWorldBounds` is set to `true`. + * This signal is dispatched when the Game Object returns within the Phaser.World {@link Phaser.World#bounds bounds}, having previously been outside of them. + * This signal is only if {@link Phaser.Sprite#checkWorldBounds Sprite.checkWorldBounds} is set to `true`. * It is sent one argument: - * {any} The Game Object that entered the World bounds. + * + * - {any} The Game Object that entered the World bounds. + * * @property {Phaser.Signal} onEnterBounds */ onEnterBounds: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an over event from a Phaser.Pointer. + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an over event from a {@link Phaser.Pointer}. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputOver */ onInputOver: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an out event from a Phaser.Pointer, which was previously over it. + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an out event from a {@link Phaser.Pointer}, which was previously over it. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputOut */ onInputOut: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives a down event from a Phaser.Pointer. This effectively means the Pointer has been + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives a down event from a {@link Phaser.Pointer}. This effectively means the Pointer has been * pressed down (but not yet released) on the Game Object. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onInputDown */ onInputDown: null, /** - * This signal is dispatched if the Game Object has `inputEnabled` set to `true`, - * and receives an up event from a Phaser.Pointer. This effectively means the Pointer had been + * This signal is dispatched if the Game Object has {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} set to `true`, + * and receives an up event from a {@link Phaser.Pointer}. This effectively means the Pointer had been * pressed down, and was then released on the Game Object. * It is sent three arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {boolean} isOver - Is the Pointer still over the Game Object? + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {boolean} isOver - Is the Pointer still over the Game Object? + * * @property {Phaser.Signal} onInputUp */ onInputUp: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer starts to drag the Game Object, taking into consideration the various + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} starts to drag the Game Object, taking into consideration the various * drag limitations that may be set. * It is sent four arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {number} The x coordinate that the drag started from. - * {number} The y coordinate that the drag started from. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {number} The x coordinate that the drag started from. + * - {number} The y coordinate that the drag started from. + * * @property {Phaser.Signal} onDragStart */ onDragStart: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer is actively dragging the Game Object. + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} is actively dragging the Game Object. * Be warned: This is a high volume Signal. Be careful what you bind to it. * It is sent six arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. - * {number} The new x coordinate of the Game Object. - * {number} The new y coordinate of the Game Object. - * {Phaser.Point} A Point object that contains the point the Game Object was snapped to, if `snapOnDrag` has been enabled. - * {boolean} The `fromStart` boolean, indicates if this is the first update immediately after the drag has started. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * - {number} The new x coordinate of the Game Object. + * - {number} The new y coordinate of the Game Object. + * - {Phaser.Point} A Point object that contains the point the Game Object was snapped to, if `snapOnDrag` has been enabled. + * - {boolean} The `fromStart` boolean, indicates if this is the first update immediately after the drag has started. + * * @property {Phaser.Signal} onDragUpdate */ onDragUpdate: null, /** - * This signal is dispatched if the Game Object has been `inputEnabled` and `enableDrag` has been set. - * It is sent when a Phaser.Pointer stops dragging the Game Object. + * This signal is dispatched if the Game Object has been {@link Phaser.Component.InputEnabled#inputEnabled inputEnabled} and {@link Phaser.InputHandler#enableDrag enableDrag} has been set. + * It is sent when a {@link Phaser.Pointer} stops dragging the Game Object. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * + * - {any} The Game Object that received the event. + * - {Phaser.Pointer} The Phaser.Pointer object that caused the event. + * * @property {Phaser.Signal} onDragStop */ onDragStop: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, * and an Animation has been played. - * You can also listen to `Animation.onStart` rather than via the Game Objects events. + * You can also listen to {@link Phaser.Animation#onStart} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that was started. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that was started. + * * @property {Phaser.Signal} onAnimationStart */ onAnimationStart: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, - * and an Animation has been stopped (via `animation.stop()` and the `dispatchComplete` argument has been set. - * You can also listen to `Animation.onComplete` rather than via the Game Objects events. + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, + * and an Animation has been stopped (via {@link Phaser.AnimationManager#stop animation.stop()} and the `dispatchComplete` argument has been set. + * You can also listen to {@link Phaser.Animation#onComplete} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that was stopped. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that was stopped. + * * @property {Phaser.Signal} onAnimationComplete */ onAnimationComplete: null, /** - * This signal is dispatched if the Game Object has the AnimationManager component, + * This signal is dispatched if the Game Object has the {@link Phaser.AnimationManager AnimationManager} component, * and an Animation has looped playback. - * You can also listen to `Animation.onLoop` rather than via the Game Objects events. + * You can also listen to {@link Phaser.Animation#onLoop} rather than via the Game Objects events. * It is sent two arguments: - * {any} The Game Object that received the event. - * {Phaser.Animation} The Phaser.Animation that looped. + * + * - {any} The Game Object that received the event. + * - {Phaser.Animation} The Phaser.Animation that looped. + * * @property {Phaser.Signal} onAnimationLoop */ onAnimationLoop: null @@ -48706,7 +48760,7 @@ Phaser.Image.prototype.preUpdate = function() { * @param {number} [x=0] - X position of the Button. * @param {number} [y=0] - Y position of the Button. * @param {string} [key] - The image key (in the Game.Cache) to use as the texture for this Button. -* @param {function} [callback] - The function to call when this Button is pressed. +* @param {function} [callback] - The function to call when this Button is pressed, receiving `this` (the Button), `pointer`, and `isOver` (see {@link Phaser.Events#onInputUp}.) * @param {object} [callbackContext] - The context in which the callback will be called (usually 'this'). * @param {string|integer} [overFrame] - The frame / frameName when the button is in the Over state. * @param {string|integer} [outFrame] - The frame / frameName when the button is in the Out state. @@ -48861,7 +48915,7 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame, * @property {Phaser.PointerMode?} justReleasedPreventsOver=ACTIVE_CURSOR */ this.justReleasedPreventsOver = Phaser.PointerMode.TOUCH; - + /** * When true the the texture frame will not be automatically switched on up/down/over/out events. * @property {boolean} freezeFrames @@ -48898,8 +48952,6 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame, this.events.onInputDown.add(this.onInputDownHandler, this); this.events.onInputUp.add(this.onInputUpHandler, this); - this.events.onRemovedFromWorld.add(this.removedFromWorld, this); - }; Phaser.Button.prototype = Object.create(Phaser.Image.prototype); @@ -48922,18 +48974,6 @@ Phaser.Button.prototype.clearFrames = function () { }; -/** -* Called when this Button is removed from the World. -* -* @method Phaser.Button#removedFromWorld -* @protected -*/ -Phaser.Button.prototype.removedFromWorld = function () { - - this.inputEnabled = false; - -}; - /** * Set the frame name/ID for the given state. * @@ -49980,28 +50020,34 @@ Phaser.BitmapData.prototype = { }, /** - * Creates a new Image element by converting this BitmapDatas canvas into a dataURL. + * Creates a new {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image Image} element by converting this BitmapDatas canvas into a dataURL. * - * The image is then stored in the image Cache using the key given. + * The image is then stored in the {@link Phaser.Cache image Cache} using the key given. * - * Finally a PIXI.Texture is created based on the image and returned. + * Finally a {@link 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: + * key or the texture. First call `generateTexture`: * - * `var texture = bitmapdata.generateTexture('ball');` + * ```javascript + * var texture = bitmapdata.generateTexture('ball'); + * ``` * * Then you can either apply the texture to a sprite: * - * `game.add.sprite(0, 0, texture);` + * ```javascript + * game.add.sprite(0, 0, texture); + * ``` * * or by using the string based key: * - * `game.add.sprite(0, 0, 'ball');` + * ```javascript + * game.add.sprite(0, 0, 'ball'); + * ``` * * Most browsers now load the image data asynchronously, so you should use a callback: * - * ``` + * ```javascript * bitmapdata.generateTexture('ball', function (texture) { * game.add.sprite(0, 0, texture); * // or @@ -53937,7 +53983,7 @@ Phaser.GraphicsData.prototype.clone = function () { * Circles and Polygons. They also include lines, arcs and curves. When you initially create a Graphics object it will * be empty. To 'draw' to it you first specify a lineStyle or fillStyle (or both), and then draw a shape. For example: * -* ``` +* ```javascript * graphics.beginFill(0xff0000); * graphics.drawCircle(50, 50, 100); * graphics.endFill(); @@ -74719,7 +74765,7 @@ Phaser.Loader.prototype = { * * The texture path object looks like this: * - * ``` + * ```javascript * load.image('factory', { * etc1: 'assets/factory_etc1.pkm', * s3tc: 'assets/factory_dxt1.pvr', @@ -74779,7 +74825,7 @@ Phaser.Loader.prototype = { * * The texture path object looks like this: * - * ``` + * ```javascript * load.texture('factory', { * etc1: 'assets/factory_etc1.pkm', * s3tc: 'assets/factory_dxt1.pvr', @@ -83402,25 +83448,27 @@ Phaser.Utils.Debug.prototype = { this.line('clearBeforeRender: ' + r.clearBeforeRender); this.line('resolution: ' + r.resolution); this.line('transparent: ' + r.transparent); + this.line('renderSession:'); if (r.gl) { - this.line('drawCount: ' + s.drawCount); - this.line('flushCount: ' + s.flushCount); - this.line('maxTextures: ' + r.maxTextures); - this.line('maxTextureSize: ' + r.maxTextureSize); - this.line('maxTextureAvailableSpace: ' + s.maxTextureAvailableSpace); - this.line('currentBatchedTextures: ('+ r.currentBatchedTextures.length + ')'); + this.line(' currentBatchedTextures: ('+ r.currentBatchedTextures.length + ')'); for (var i = 0; i < r.currentBatchedTextures.length; i++) { - this.line(' ' + r.currentBatchedTextures[i]); + this.line(' ' + r.currentBatchedTextures[i]); } + + this.line(' drawCount: ' + s.drawCount); + this.line(' maxTextures: ' + r.maxTextures); + this.line(' maxTextureSize: ' + r.maxTextureSize); + this.line(' maxTextureAvailableSpace: ' + s.maxTextureAvailableSpace); + this.line(' roundPixels: ' + s.roundPixels); } else { - this.line('roundPixels: ' + s.roundPixels); - this.line('scaleMode: ' + (s.scaleMode === 0 ? 'LINEAR' : (s.scaleMode === 1 ? 'NEAREST' : s.scaleMode))); + this.line(' roundPixels: ' + s.roundPixels); + this.line(' scaleMode: ' + (s.scaleMode === 0 ? 'LINEAR' : (s.scaleMode === 1 ? 'NEAREST' : s.scaleMode))); } this.stop(); @@ -84420,7 +84468,7 @@ Phaser.ArrayUtils = { /** * Create an array representing the inclusive range of numbers (usually integers) in `[start, end]`. - * This is equivalent to `numberArrayStep(start, end, 1)`. + * This is equivalent to `numberArrayStep(start, 1 + end, 1)`. * * @method Phaser.ArrayUtils.numberArray * @param {number} start - The minimum value the array starts with. @@ -85879,7 +85927,7 @@ Phaser.Color = { */ updateColor: function (out) { - out.rgba = 'rgba(' + out.r.toString() + ',' + out.g.toString() + ',' + out.b.toString() + ',' + out.a.toString() + ')'; + out.rgba = 'rgba(' + out.r.toFixed() + ',' + out.g.toFixed() + ',' + out.b.toFixed() + ',' + out.a.toString() + ')'; out.color = Phaser.Color.getColor(out.r, out.g, out.b); out.color32 = Phaser.Color.getColor32(out.a * 255, out.r, out.g, out.b); @@ -94767,7 +94815,7 @@ Phaser.Physics.P2.Body.prototype = { if (rotation === undefined) { rotation = 0; } this.data.addShape(shape, [this.world.pxmi(offsetX), this.world.pxmi(offsetY)], rotation); - this.shapeChanged(rotation); + this.shapeChanged(); return shape; @@ -95053,14 +95101,12 @@ Phaser.Physics.P2.Body.prototype = { }, /** - * Updates the debug draw if any body shapes change. Always update the angle data prior to debug drawing the shape. + * Updates the debug draw if any body shapes change. * * @method Phaser.Physics.P2.Body#shapeChanged - * @param {number} [rotation=0] - Local rotation of the shape relative to the body center of mass, specified in radians. */ - shapeChanged: function(rotation) { + shapeChanged: function() { - this.data.angle=rotation; if (this.debugBody) { this.debugBody.draw(); @@ -95194,10 +95240,9 @@ Phaser.Physics.P2.Body.prototype = { * @param {string|object} object - 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. * @param {number} [scale=1] - Optionally resize the loaded polygon. - * @param {number} [rotation=0] - Local rotation of the shape relative to the body center of mass, specified in radians. * @return {boolean} True on success, else false. */ - loadPolygon: function (key, object, scale,rotation) { + loadPolygon: function (key, object, scale) { if (key === null) { @@ -95250,7 +95295,7 @@ Phaser.Physics.P2.Body.prototype = { } this.data.aabbNeedsUpdate = true; - this.shapeChanged(rotation); + this.shapeChanged(); return true; @@ -95862,7 +95907,7 @@ Phaser.Utils.extend(Phaser.Physics.P2.BodyDebug.prototype, { { child = obj.shapes[i]; offset = child.position || 0; - angle = 0 ; + angle = child.angle || 0; if (child instanceof p2.Circle) { @@ -101481,6 +101526,7 @@ Phaser.Tileset.prototype = { * * @method Phaser.Tileset#containsTileIndex * @public + * @param {number} tileIndex * @return {boolean} True if this tileset contains the given index. */ containsTileIndex: function (tileIndex) { @@ -101503,7 +101549,7 @@ Phaser.Tileset.prototype = { this.image = image; this.updateTileData(image.width, image.height); - + }, /** @@ -102071,19 +102117,26 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this.particleSendToBack = false; /** - * @property {object} count - Records emitter activity. - * @property {number} count.emitted - How many particles were emitted during the last update. - * @property {number} count.failed - How many particles could not be emitted during the last update (because no particles were available). - * @property {number} count.totalEmitted - How many particles have been emitted. - * @property {number} count.totalFailed - How many particles could not be emitted when they were due (because no particles were available). - */ - this.count = { + * @property {object} counts - Records emitter activity. + * @property {number} counts.emitted - How many particles were emitted during the last update. + * @property {number} counts.failed - How many particles could not be emitted during the last update (because no particles were available). + * @property {number} counts.totalEmitted - How many particles have been emitted. + * @property {number} counts.totalFailed - How many particles could not be emitted when they were due (because no particles were available). + */ + this.counts = { emitted: 0, failed: 0, totalEmitted: 0, totalFailed: 0 }; + /** + * Alias for {@link #counts}. Will be removed in a future release. + * + * @deprecated Use {@link #counts} instead. + */ + this.count = this.counts; + /** * @property {Phaser.Point} _gravity - Internal gravity value. * @private diff --git a/build/phaser.map b/build/phaser.map index c5d70a421..020a0a063 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","motorIsEnabled","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","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","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","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","tintedTexture","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","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","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","CanvasPool","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","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","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","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","prop","parts","val","setProperty","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","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","pointOnSegment","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","isPoint","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","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","_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","bindings","paramsArr","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","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","removeFromHash","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","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_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","CONTACT","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","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","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","pointerLocalCoord","globalToLocal","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","_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","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","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","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","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","removedFromWorld","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","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","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","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","getFirst","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","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","process","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","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","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","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","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","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","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","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","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","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","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","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","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","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","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","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","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","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","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","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","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","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","steps","currentStep","src1","src2","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","center","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","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","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","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","tiles","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","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","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","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","lastgid","curo","polygon","ellipse","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","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","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","onError","onTimeout","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","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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D,SAEzC7yD,EAASktB,KAAW0wB,EACpB59C,EAASktB,KAAW4wB,EAEpB99C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAOttD,SAASU,EAGpCvH,EAASktB,KAAWinC,EAAO/hD,MAAM9K,EACjCtH,EAASktB,KAAWinC,EAAO/hD,MAAM7K,EAGjCvH,EAASktB,KAAWinC,EAAOzd,SAG3B12C,EAASktB,KAAWknC,EAAIW,GACxB/0D,EAASktB,KAAWknC,EAAIpW,GAExBh+C,EAASktB,KAAWinC,EAAOxd,MAE3B32C,EAASktB,KAAWktB,EAIpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW4wB,EAEpB99C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAOttD,SAASU,EAGpCvH,EAASktB,KAAWinC,EAAO/hD,MAAM9K,EACjCtH,EAASktB,KAAWinC,EAAO/hD,MAAM7K,EAGjCvH,EAASktB,KAAWinC,EAAOzd,SAG3B12C,EAASktB,KAAWknC,EAAIrW,GACxB/9C,EAASktB,KAAWknC,EAAIpW,GAExBh+C,EAASktB,KAAWinC,EAAOxd,MAE3B32C,EAASktB,KAAWktB,EAGpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAOttD,SAASU,EAGpCvH,EAASktB,KAAWinC,EAAO/hD,MAAM9K,EACjCtH,EAASktB,KAAWinC,EAAO/hD,MAAM7K,EAGjCvH,EAASktB,KAAWinC,EAAOzd,SAG3B12C,EAASktB,KAAWknC,EAAInW,GACxBj+C,EAASktB,KAAWknC,EAAIlW,GAExBl+C,EAASktB,KAAWinC,EAAOxd,MAE3B32C,EAASktB,KAAWktB,EAKpBp6C,EAASktB,KAAW0wB,EACpB59C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAOttD,SAASU,E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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","motorIsEnabled","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","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","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","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","tintedTexture","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","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","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","CanvasPool","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","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","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","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","prop","parts","val","setProperty","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","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","pointOnSegment","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","isPoint","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","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","_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","bindings","paramsArr","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","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","removeFromHash","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","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_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","CONTACT","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","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","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","pointerLocalCoord","globalToLocal","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","_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","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","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","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","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","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","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","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","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","getFirst","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","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","process","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","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","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","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","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","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","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","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","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","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","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","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","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","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","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","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","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","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","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","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","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","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","steps","currentStep","src1","src2","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","center","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","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","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","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","tiles","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","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","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","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","lastgid","curo","polygon","ellipse","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","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","onError","onTimeout","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","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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AEpB99C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIW,GACxB90D,EAASktB,KAAWinC,EAAInW,GAExBh+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAIpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW4wB,EAEpB99C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIpW,GACxB/9C,EAASktB,KAAWinC,EAAInW,GAExBh+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAGpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIlW,GACxBj+C,EAASktB,KAAWinC,EAAIjW,GAExBl+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAKpBp6C,EAASktB,KAAW0wB,EACpB59C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB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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 e7b132d5f..aab127791 100644 --- a/build/phaser.min.js +++ b/build/phaser.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.7 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.8 - 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;Tg&&(g+=this.vertices.length),m=Number.MAX_VALUE,g3&&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(m,2))return 0;if(u)return!0;var g=this.createContactEquation(t,n,e,r);return a(g.normalA,l,i),o.normalize(g.normalA,g.normalA),o.scale(g.contactPointA,g.normalA,d),o.scale(g.contactPointB,g.normalA,-p),h(g.contactPointA,g.contactPointA,i),a(g.contactPointA,g.contactPointA,t.position),h(g.contactPointB,g.contactPointB,l),a(g.contactPointB,g.contactPointB,n.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[g.PLANE|g.CONVEX]=s.prototype[g.PLANE|g.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,m=_,g=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(m,p,i),l(m,f)<=0){if(d)return!0;g++;var T=this.createContactEquation(t,n,e,r);a(m,p,i),o.copy(T.normalA,f);var P=l(m,T.normalA);o.scale(m,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,m),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&&g&&this.frictionEquations.push(this.createFrictionFromAverage(g)),g},s.prototype[g.PARTICLE|g.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 m=this.createContactEquation(n,t,r,e);return o.copy(m.normalA,p),o.scale(d,m.normalA,f),a(m.contactPointA,i,d),a(m.contactPointA,m.contactPointA,n.position),a(m.contactPointB,i,t.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[g.CIRCLE|g.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[g.PLANE|g.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 m=this.circlePlane(n,p,u,0,t,e,i,s,c),g=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return m||g;var y=m+g;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[g.CIRCLE|g.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,m=i,g=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,m,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(g,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,m),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,g.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[g.CONVEX]=s.prototype[g.CONVEX|g.BOX]=s.prototype[g.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var m=x,g=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,m))return 0;a(M,u,i),l(m,M)>0&&o.scale(m,m,-1);var B=s.getClosestEdge(e,n,m,!0),I=s.getClosestEdge(c,d,m);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 q;q=k,k=F,F=q,q=D,D=U,U=q,q=G,G=N,N=q,q=X,X=W,W=q,q=j,j=V,V=q}for(var H=F;H=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,g,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,g,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,g,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,m=et,g=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(g,0,1):1===C&&o.set(g,1,0),0!==_&&o.rotate(g,g,_),s.projectConvexOntoAxis(t,e,i,g,v),s.projectConvexOntoAxis(n,r,h,g,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,g),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(m,b.vertices[(C+1)%b.vertices.length],_),a(p,m,f),o.rotate90cw(g,p),o.normalize(g,g),s.projectConvexOntoAxis(t,e,i,g,v),s.projectConvexOntoAxis(n,r,h,g,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,g),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[g.CIRCLE|g.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,m=lt,g=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]&&g[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(m,x,-E),o.add(y,g,m),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(m,i,b),o.squaredLength(m)=c.length&&(y=c.length-1);for(var v=c[g],x=c[y],b=g;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=g;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&&g>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],m=t[2*l+1],g=!1;if(s._convex(c,u,d,p,f,m)){g=!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,m=h*c+l*u,g=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-m*m),b=(y*g-m*v)*x,_=(f*v-m*g)*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(),m=n.create();s.prototype.applyForceLocal=function(t,e){e=e||m;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var g=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=g;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(g,2),y=0;y<2;y++){r.set(f,g*(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,m=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(m,f,i),r.normalize(m,m),e.reportIntersection(t,p,m,-1);else{var g=Math.sqrt(p),y=1/(2*c),v=(-u-g)*y,x=(-u+g)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(m,f,i),r.normalize(m,m),e.reportIntersection(t,v,m,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(m,f,i),r.normalize(m,m),e.reportIntersection(t,x,m,-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(),m=r.create(),g=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=m,a=g,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 m=a;r.rotate(m,c,s),e.reportIntersection(t,f,m,-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&&(m=p*a-u),r[t]+=m,e.addToWlambda(m),m}},{"../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);q=u.length;for(T=0;T!==q;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++)(H=n[T])._wakeUpAfterNarrowphase&&(H.wakeUp(),H._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 q=u.length;for(T=0;T!==q;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||q)if(this.islandSplit){for(m.equations.length=0,v.appendArray(m.equations,c.contactEquations),v.appendArray(m.equations,c.frictionEquations),T=0;T!==q;T++)v.appendArray(m.equations,u[T].equations);m.split(this);for(T=0;T!==m.islands.length;T++)(K=m.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==q;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var H=n[T];H.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 m;m=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*m,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 g=t[i.type|a.type],y=0;if(g){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 m=this.narrowphase,g=[],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&&m.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&m.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&m.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&m.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)}},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.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 m=(f=new s.Rectangle).x,g=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*g+w*v+P,A=T*v+_*g+C,E=b*m+w*v+P,M=T*v+_*m+C,R=b*m+w*y+P,L=T*y+_*m+C,B=b*g+w*y+P,I=T*y+_*g+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,m=S>(m=P>(m=w>(m=b>m?b:m)?w:m)?P:m)?S:m}var A=this._bounds;return A.x=g,A.width=f-g,A.y=y,A.height=m-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 m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,w=o.tx,T=o.ty,P=(i.crop.width,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[m++]=v*l+b*u+w|0,B[m++]=_*u+x*l+T|0,B[m++]=a.x0,B[m++]=a.y0,L[m++]=O,B[m++]=y,B[m++]=v*h+b*u+w|0,B[m++]=_*u+x*h+T|0,B[m++]=a.x1,B[m++]=a.y1,L[m++]=O,B[m++]=y,B[m++]=v*h+b*c+w|0,B[m++]=_*c+x*h+T|0,B[m++]=a.x2,B[m++]=a.y2,L[m++]=O,B[m++]=y,B[m++]=v*l+b*c+w|0,B[m++]=_*c+x*l+T|0,B[m++]=a.x3,B[m++]=a.y3,L[m++]=O,B[m++]=y):(B[m++]=v*l+b*u+w,B[m++]=_*u+x*l+T,B[m++]=a.x0,B[m++]=a.y0,L[m++]=O,B[m++]=y,B[m++]=v*h+b*u+w,B[m++]=_*u+x*h+T,B[m++]=a.x1,B[m++]=a.y1,L[m++]=O,B[m++]=y,B[m++]=v*h+b*c+w,B[m++]=_*c+x*h+T,B[m++]=a.x2,B[m++]=a.y2,L[m++]=O,B[m++]=y,B[m++]=v*l+b*c+w,B[m++]=_*c+x*l+T,B[m++]=a.x3,B[m++]=a.y3,L[m++]=O,B[m++]=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),m=this.positions,g=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;m[C++]=E*w+R*P+B,m[C++]=L*P+M*w+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=E*_+R*P+B,m[C++]=L*P+M*_+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=E*_+R*T+B,m[C++]=L*T+M*_+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=E*w+R*T+B,m[C++]=L*T+M*w+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,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(f||m)&&(this.renderBatch(u,l,c),c=g,l=0,u=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)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}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(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.7",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(u),t.y=s+o*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.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,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.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)},i.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=0;o2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.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 e=!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}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}r&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,c){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*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,e,s){s||(s=i.Color.createColor());var n=~~(t+e*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,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),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 e=i.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{i.Color.unpackPixel(this.getPixel32(s,n),e),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===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.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,e,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 i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.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 i.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 i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),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)){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+e,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,e,s){if(void 0===e&&(e=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 i.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,e&&(this.op=e),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,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.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,e.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),i.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 i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.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=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.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&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,c=[];for(r=0,o=e.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&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.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},i.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},i.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},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.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},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.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)},i.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,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.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===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.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,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.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}},i.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},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.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},i.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},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=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},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.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},i.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()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.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}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.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=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.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===i.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 i.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 i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.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},i.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)},i.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++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.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)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.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,"")},i.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},i.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()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,r,a).data,u=c.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.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(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).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(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.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)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=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===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.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},i.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},i.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},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.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(i.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(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.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=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.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,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){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=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,R=m*c+l*y+g*u-c*y-l*g-m*u,L=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=m*p+d*y+g*f-p*y-d*g-m*f,O=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.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(i.Rope.prototype,"segments",{get:function(){for(var t,e,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(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.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," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.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){return this._tweens.some(function(e){return e.target===t})},_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)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.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},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=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],10)),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 i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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():i.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,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.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){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(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-i.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*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===c||0===u||cc&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.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])},i.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]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,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=e,this.key=e,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.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._removeFromSoundManager=!1,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*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.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},i.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._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),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(){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)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===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._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,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.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),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.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!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._sound&&(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&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(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,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.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(i.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))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=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 i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,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);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;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),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.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=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,r,o,a,h){var l={r:t||0,g:e||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 i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,l=(a.green-o.green)*n/s+o.green,c=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-e)*h/a+e,u=(o-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.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,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.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,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.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===i.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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.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)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.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,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.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:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.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),e.immovable||(e.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*e.bounce.x,e.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.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)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.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,e,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 i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},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,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},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){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},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)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.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 i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.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 i.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 i.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},i.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=Math.atan2(this.velocity.y,this.velocity.x)),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=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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,e,s){var n=e/(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),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),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,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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 i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.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)},i.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)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.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}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.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,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,r,o,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,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,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,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 i.Physics.P2.Body?t.data:t.body&&t.body.type===i.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,e,s,n){void 0===e&&(e=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=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?o.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?o.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&o.push(e[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.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(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.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}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,r){e=e||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.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(t){this.data.angle=t,this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++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"}}),i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.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)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.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)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.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)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.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)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.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)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.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},i.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}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,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)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.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,e,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!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.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)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=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:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,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:e,height:s,widthInPixels:e*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 i.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,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}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}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.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=i.TILEMAPLAYER,this.physicsType=i.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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.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},i.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)},i.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)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.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},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.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)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.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)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.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))}}}},i.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)}},i.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)},i.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(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,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===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=l,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}U={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&&(U.properties=o.properties);for(var u,d,p,f=0,m=[],g=[],y=0,h=o.data.length;y536870912)switch(A>2147483648&&(A-=2147483648,p+=4),A>1073741824&&(A-=1073741824,p+=2),A>536870912&&(A-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}A>0?((G=new i.Tile(U,A,f,g.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===o.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],r=0;r=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()},i.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},i.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},i.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()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.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},i.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(i.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(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.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 i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.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()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.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},i.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},i.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},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.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!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.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===i.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+=i.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},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.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},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.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},i.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(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.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(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.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=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,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,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);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(i.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 i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.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"),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: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.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.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.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),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,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!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.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.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(i.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(i.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(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.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(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.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 q;q=k,k=F,F=q,q=D,D=U,U=q,q=G,G=N,N=q,q=X,X=W,W=q,q=j,j=V,V=q}for(var H=F;H=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);q=u.length;for(T=0;T!==q;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++)(H=n[T])._wakeUpAfterNarrowphase&&(H.wakeUp(),H._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 q=u.length;for(T=0;T!==q;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||q)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==q;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!==q;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var H=n[T];H.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)}},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.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=(this.currentBatchSize,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.width,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(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.8",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(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,e,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=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.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,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.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(i.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(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.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},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.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},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.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 i.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 i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.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 i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(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},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.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},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.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,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,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},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(u),t.y=s+o*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.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(i.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(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.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(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.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)},i.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}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.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 i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.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,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.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}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.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(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.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},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(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 a 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){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].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.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},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)},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===i.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.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.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,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,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)},i.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)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.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},i.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},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.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},i.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},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))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},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.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)},i.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=0;o2){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()}},i.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},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.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 i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.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}},i.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()}},i.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)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.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(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.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(i.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(i.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(i.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(i.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(i.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}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.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)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.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()},i.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))},Object.defineProperty(i.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.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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+e.x=a&&this.game.camera.y+e.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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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 i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},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 e=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),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.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===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.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,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!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.mouse.locked&&!e&&(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===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.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,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!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 e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(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&&e.currentPointers--,e.interactiveItems.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=i.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){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.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 e=!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}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||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;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.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(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)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,e)}r&&(this._frame=i.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}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return 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))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.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)}}},i.Component.Reset=function(){},i.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},i.Component.ScaleMinMax=function(){},i.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,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,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,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,c){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.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)},i.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())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.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},i.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)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.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)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.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")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.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())},i.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&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*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,e,s){s||(s=i.Color.createColor());var n=~~(t+e*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,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),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 e=i.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{i.Color.unpackPixel(this.getPixel32(s,n),e),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===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.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,e,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 i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.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 i.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 i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),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)){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+e,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,e,s){if(void 0===e&&(e=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 i.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,e&&(this.op=e),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,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.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,e.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),i.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 i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.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=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.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&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,c=[];for(r=0,o=e.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&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.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},i.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},i.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},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.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},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.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)},i.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,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.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===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.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,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.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}},i.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},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.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},i.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},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=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},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.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},i.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()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.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}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.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=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.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===i.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 i.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 i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.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},i.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)},i.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++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.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)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.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,"")},i.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},i.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()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,r,a).data,u=c.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:u,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.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(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).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(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.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)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=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===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.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},i.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},i.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},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.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(i.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(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.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=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.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,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){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()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.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(i.Rope.prototype,"segments",{get:function(){for(var t,e,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(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=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&&e(),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=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,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=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.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]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.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"))},i.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))))))},i.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)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,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,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),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 e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","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=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=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}},i.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)},i.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(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.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)},i.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 i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.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 i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},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}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.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," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.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){return this._tweens.some(function(e){return e.target===t})},_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)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.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},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.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 i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=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],10)),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 i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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():i.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,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.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){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(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-i.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*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.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.fps=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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.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 e=new i.Timer(this.game,t);return this._timers.push(e),e},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&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},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(i.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}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,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(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.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},i.TimerEvent.prototype.constructor=i.TimerEvent,i.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=[]},i.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,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.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}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},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(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},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)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.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=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(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||!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.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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.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(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.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(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,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=i.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},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},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 i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.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 i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===c||0===u||cc&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.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 i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,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,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.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(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.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,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,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?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.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,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,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:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,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 e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.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(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.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,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];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+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},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=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},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.",e),t._ready())},i.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)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.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 i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,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},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.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.reset(),this.onLoadComplete.dispatch(),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 e=t.data[t.key];if(e)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()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},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,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.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,e.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===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.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=e.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=e.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=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.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=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.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;d=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]),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}},i.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])},i.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]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,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=e,this.key=e,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.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._removeFromSoundManager=!1,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*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.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},i.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._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),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(){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)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===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._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,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.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),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.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!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._sound&&(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&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(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,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.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(i.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))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=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 i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,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);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;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),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}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 e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.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(i.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(i.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(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.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=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.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 i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=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(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.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(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.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(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;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,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},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,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,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=(e-s)/a+(e1&&(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,e,s,n,r,o,a,h){var l={r:t||0,g:e||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 i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.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,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){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);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,l=(a.green-o.green)*n/s+o.green,c=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-e)*h/a+e,u=(o-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.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 e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.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,e){return i.Color.blendOverlay(e,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,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.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()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.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,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.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,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.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===i.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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.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)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.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,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.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:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.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),e.immovable||(e.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*e.bounce.x,e.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.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)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.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,e,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 i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},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,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},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){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},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)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.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 i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.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 i.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 i.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},i.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=Math.atan2(this.velocity.y,this.velocity.x)),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=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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,e,s){var n=e/(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),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),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,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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 i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.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)},i.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)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.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}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.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,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,r,o,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,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,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,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 i.Physics.P2.Body?t.data:t.body&&t.body.type===i.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,e,s,n){void 0===e&&(e=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=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?o.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?o.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&o.push(e[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.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(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.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}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.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(i.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(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,r){e=e||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.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;np;n=0<=p?++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"}}),i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.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},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.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)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.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)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.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)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.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)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.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)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.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},i.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}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,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)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.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,e,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!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.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)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=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:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,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:e,height:s,widthInPixels:e*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 i.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,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}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}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.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=i.TILEMAPLAYER,this.physicsType=i.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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.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},i.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)},i.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)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.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},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.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)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.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)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.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))}}}},i.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)}},i.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)},i.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(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,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===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=l,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}U={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&&(U.properties=o.properties);for(var u,d,p,f=0,g=[],m=[],y=0,h=o.data.length;y536870912)switch(A>2147483648&&(A-=2147483648,p+=4),A>1073741824&&(A-=1073741824,p+=2),A>536870912&&(A-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}A>0?((G=new i.Tile(U,A,f,m.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),g.push(G)):i.TilemapParser.INSERT_NULL?g.push(null):g.push(new i.Tile(U,-1,f,m.length,t.tilewidth,t.tileheight)),++f===o.width&&(m.push(g),f=0,g=[])}U.data=m,n.push(U)}s.layers=n;for(var v=[],r=0;r=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()},i.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},i.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},i.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()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.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},i.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(i.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(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.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 i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.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()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.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},i.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},i.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},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.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!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.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===i.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+=i.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},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.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},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.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},i.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(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.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(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.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=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,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,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);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(i.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 i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.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"),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: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.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.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.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),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,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!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.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.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(i.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(i.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(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.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(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# sourceMappingURL=phaser.map \ No newline at end of file diff --git a/docs/CreatureShader.html b/docs/CreatureShader.html index b5f873c1c..02b1372ad 100644 --- a/docs/CreatureShader.html +++ b/docs/CreatureShader.html @@ -6,7 +6,7 @@ Phaser CE Class: CreatureShader - + @@ -123,7 +123,7 @@

-

+

new CreatureShader(gl)

@@ -224,7 +224,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 16 + src/gameobjects/Creature.js line 16 @@ -268,9 +268,11 @@

Members

-
-

fragmentSrc :Array

- +
+

+ fragmentSrc : Array + +

@@ -327,7 +329,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 43 + src/gameobjects/Creature.js line 43 @@ -343,9 +345,11 @@
Type:
-
-

gl :WebGLContext

- +
+

+ gl : WebGLContext + +

@@ -398,7 +402,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 29 + src/gameobjects/Creature.js line 29 @@ -414,9 +418,11 @@
Type:
-
-

program :Any

- +
+

+ program : Any + +

@@ -473,7 +479,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 36 + src/gameobjects/Creature.js line 36 @@ -489,9 +495,11 @@
Type:
-
-

vertexSrc :Array

- +
+

+ vertexSrc : Array + +

@@ -548,7 +556,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 62 + src/gameobjects/Creature.js line 62 @@ -581,9 +589,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -600,9 +608,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -614,7 +622,7 @@
Type:
- +
@@ -629,7 +637,7 @@
Type:
- + diff --git a/docs/EarCut.html b/docs/EarCut.html index bedc284c5..ecf9f8b1e 100644 --- a/docs/EarCut.html +++ b/docs/EarCut.html @@ -6,7 +6,7 @@ Phaser CE Class: EarCut - + @@ -123,7 +123,7 @@

-

+

new 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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -250,9 +250,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -264,7 +264,7 @@

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

- + diff --git a/docs/Event.html b/docs/Event.html index e77ddd7b3..bde5cd3b3 100644 --- a/docs/Event.html +++ b/docs/Event.html @@ -6,7 +6,7 @@ Phaser CE Class: Event - + @@ -123,7 +123,7 @@

-

+

new Event(target, name, data)

@@ -276,7 +276,7 @@
Parameters:
Source:
- src/plugins/path/EventTarget.js line 202 + src/plugins/path/EventTarget.js line 202 @@ -331,9 +331,11 @@

Members

-
-

<readonly> data :Object

- +
+

+ <readonly> data : Object + +

@@ -390,7 +392,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 253 + src/plugins/path/EventTarget.js line 253 @@ -406,9 +408,11 @@
Type:
-
-

<readonly> target :Object

- +
+

+ <readonly> target : Object + +

@@ -465,7 +469,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 235 + src/plugins/path/EventTarget.js line 235 @@ -481,9 +485,11 @@
Type:
-
-

<readonly> timeStamp :Number

- +
+

+ <readonly> timeStamp : Number + +

@@ -540,7 +546,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 265 + src/plugins/path/EventTarget.js line 265 @@ -556,9 +562,11 @@
Type:
-
-

<readonly> type :String

- +
+

+ <readonly> type : String + +

@@ -615,7 +623,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 244 + src/plugins/path/EventTarget.js line 244 @@ -648,9 +656,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -667,9 +675,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -681,7 +689,7 @@
Type:
- +
@@ -696,7 +704,7 @@
Type:
- + diff --git a/docs/EventTarget.html b/docs/EventTarget.html index f7a21e69d..9d9be58dc 100644 --- a/docs/EventTarget.html +++ b/docs/EventTarget.html @@ -6,7 +6,7 @@ Phaser CE Class: EventTarget - + @@ -123,7 +123,7 @@

-

+

new EventTarget()

@@ -178,7 +178,7 @@

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

Methods

-

+

<static> call()

@@ -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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -353,9 +353,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -367,7 +367,7 @@

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

- + diff --git a/docs/PIXI.BaseTexture.html b/docs/PIXI.BaseTexture.html index cd6d3154a..4a4d90008 100644 --- a/docs/PIXI.BaseTexture.html +++ b/docs/PIXI.BaseTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: BaseTexture - + @@ -125,7 +125,7 @@

-

+

new BaseTexture(source, scaleMode [, resolution])

@@ -309,7 +309,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 14 + src/pixi/textures/BaseTexture.js line 14 @@ -353,9 +353,11 @@

Members

-
-

<readonly> hasLoaded :Boolean

- +
+

+ <readonly> hasLoaded : Boolean + +

@@ -412,7 +414,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 58 + src/pixi/textures/BaseTexture.js line 58 @@ -428,9 +430,11 @@
Type:
-
-

<readonly> height :Number

- +
+

+ <readonly> height : Number + +

@@ -487,7 +491,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 40 + src/pixi/textures/BaseTexture.js line 40 @@ -503,9 +507,11 @@
Type:
-
-

mipmap :Boolean

- +
+

+ mipmap : Boolean + +

@@ -563,7 +569,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 93 + src/pixi/textures/BaseTexture.js line 93 @@ -579,9 +585,11 @@
Type:
-
-

premultipliedAlpha :Boolean

- +
+

+ premultipliedAlpha : Boolean + +

@@ -645,7 +653,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 75 + src/pixi/textures/BaseTexture.js line 75 @@ -661,9 +669,11 @@
Type:
-
-

resolution :Number

- +
+

+ resolution : Number + +

@@ -720,7 +730,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 22 + src/pixi/textures/BaseTexture.js line 22 @@ -736,9 +746,11 @@
Type:
-
-

scaleMode :Number

- +
+

+ scaleMode : Number + +

@@ -802,7 +814,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 49 + src/pixi/textures/BaseTexture.js line 49 @@ -818,9 +830,11 @@
Type:
-
-

skipRender :Boolean

- +
+

+ skipRender : Boolean + +

@@ -879,7 +893,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 131 + src/pixi/textures/BaseTexture.js line 131 @@ -895,9 +909,11 @@
Type:
-
-

source :Image

- +
+

+ source : Image + +

@@ -954,7 +970,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 66 + src/pixi/textures/BaseTexture.js line 66 @@ -970,9 +986,11 @@
Type:
-
-

textureIndex :Number

- +
+

+ textureIndex : Number + +

@@ -1029,7 +1047,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 100 + src/pixi/textures/BaseTexture.js line 100 @@ -1045,9 +1063,11 @@
Type:
-
-

<readonly> width :Number

- +
+

+ <readonly> width : Number + +

@@ -1104,7 +1124,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 31 + src/pixi/textures/BaseTexture.js line 31 @@ -1127,7 +1147,7 @@

Methods

-

+

destroy()

@@ -1182,7 +1202,7 @@

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

-

+

dirty()

@@ -1266,7 +1286,7 @@

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

-

+

forceLoaded(width, height)

@@ -1426,7 +1446,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 144 + src/pixi/textures/BaseTexture.js line 144 @@ -1455,7 +1475,7 @@
Parameters:
-

+

fromCanvas(canvas, scaleMode [, resolution])

@@ -1636,7 +1656,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 231 + src/pixi/textures/BaseTexture.js line 231 @@ -1685,7 +1705,7 @@
Returns:
-

+

unloadFromGPU()

@@ -1741,7 +1761,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 203 + src/pixi/textures/BaseTexture.js line 203 @@ -1770,7 +1790,7 @@

-

+

updateSourceImage(newSrc) deprecated

@@ -1884,7 +1904,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 178 + src/pixi/textures/BaseTexture.js line 178 @@ -1927,9 +1947,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1946,9 +1966,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1960,7 +1980,7 @@
Parameters:
- +
@@ -1975,7 +1995,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasBuffer.html b/docs/PIXI.CanvasBuffer.html index a815c54af..ffd8fea6a 100644 --- a/docs/PIXI.CanvasBuffer.html +++ b/docs/PIXI.CanvasBuffer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasBuffer - + @@ -125,7 +125,7 @@

-

+

new CanvasBuffer(width, height)

@@ -254,7 +254,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 13 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 13 @@ -298,9 +298,11 @@

Members

-
-

canvas :HTMLCanvasElement

- +
+

+ canvas : HTMLCanvasElement + +

@@ -357,7 +359,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 37 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 37 @@ -373,9 +375,11 @@
Type:
-
-

context :CanvasRenderingContext2D

- +
+

+ context : CanvasRenderingContext2D + +

@@ -432,7 +436,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 45 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 45 @@ -448,9 +452,11 @@
Type:
-
-

height :Number

- +
+

+ height : Number + +

@@ -507,7 +513,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 29 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 29 @@ -523,9 +529,11 @@
Type:
-
-

width :Number

- +
+

+ width : Number + +

@@ -582,7 +590,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 21 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 21 @@ -605,7 +613,7 @@

Methods

-

+

destroy()

@@ -660,7 +668,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 78 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 78 @@ -689,7 +697,7 @@

-

+

resize(width, height)

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -880,9 +888,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -894,7 +902,7 @@
Parameters:
- +
@@ -909,7 +917,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasGraphics.html b/docs/PIXI.CanvasGraphics.html index 467023857..c0da60dea 100644 --- a/docs/PIXI.CanvasGraphics.html +++ b/docs/PIXI.CanvasGraphics.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasGraphics - + @@ -125,7 +125,7 @@

-

+

new CanvasGraphics()

@@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/CanvasGraphics.js line 12 + src/pixi/renderers/canvas/CanvasGraphics.js line 12 @@ -227,7 +227,7 @@

Methods

-

+

<static> renderGraphics(graphics, context)

@@ -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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -418,9 +418,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -432,7 +432,7 @@
Parameters:
- +
@@ -447,7 +447,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasMaskManager.html b/docs/PIXI.CanvasMaskManager.html index 9325e6483..e5a9ae466 100644 --- a/docs/PIXI.CanvasMaskManager.html +++ b/docs/PIXI.CanvasMaskManager.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasMaskManager - + @@ -125,7 +125,7 @@

-

+

new CanvasMaskManager()

@@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 11 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 11 @@ -227,7 +227,7 @@

Methods

-

+

popMask(renderSession)

@@ -332,7 +332,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 49 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 49 @@ -361,7 +361,7 @@
Parameters:
-

+

pushMask(maskData, renderSession)

@@ -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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -552,9 +552,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -566,7 +566,7 @@
Parameters:
- +
@@ -581,7 +581,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasRenderer.html b/docs/PIXI.CanvasRenderer.html index bb704ad07..b28d916d6 100644 --- a/docs/PIXI.CanvasRenderer.html +++ b/docs/PIXI.CanvasRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasRenderer - + @@ -125,7 +125,7 @@

-

+

new CanvasRenderer(game)

@@ -231,7 +231,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 13 + src/pixi/renderers/canvas/CanvasRenderer.js line 13 @@ -275,9 +275,11 @@

Members

-
-

autoResize :Boolean

- +
+

+ autoResize : Boolean + +

@@ -334,7 +336,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 67 + src/pixi/renderers/canvas/CanvasRenderer.js line 67 @@ -350,9 +352,11 @@
Type:
-
-

clearBeforeRender :Boolean

- +
+

+ clearBeforeRender : Boolean + +

@@ -412,7 +416,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 51 + src/pixi/renderers/canvas/CanvasRenderer.js line 51 @@ -428,9 +432,11 @@
Type:
-
-

context :CanvasRenderingContext2D

- +
+

+ context : CanvasRenderingContext2D + +

@@ -487,7 +493,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 100 + src/pixi/renderers/canvas/CanvasRenderer.js line 100 @@ -503,9 +509,11 @@
Type:
-
-

count :Number

- +
+

+ count : Number + +

@@ -562,7 +570,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 116 + src/pixi/renderers/canvas/CanvasRenderer.js line 116 @@ -578,9 +586,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -637,7 +647,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 18 + src/pixi/renderers/canvas/CanvasRenderer.js line 18 @@ -653,9 +663,11 @@
Type:
-
-

height :Number

- +
+

+ height : Number + +

@@ -719,7 +731,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 85 + src/pixi/renderers/canvas/CanvasRenderer.js line 85 @@ -735,9 +747,11 @@
Type:
-
-

maskManager :CanvasMaskManager

- +
+

+ maskManager : CanvasMaskManager + +

@@ -841,7 +855,7 @@
Properties:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 123 + src/pixi/renderers/canvas/CanvasRenderer.js line 123 @@ -857,9 +871,11 @@
Properties:
-
-

refresh :Boolean

- +
+

+ refresh : Boolean + +

@@ -916,7 +932,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 108 + src/pixi/renderers/canvas/CanvasRenderer.js line 108 @@ -932,9 +948,11 @@
Type:
-
-

renderSession :Object

- +
+

+ renderSession : Object + +

@@ -991,7 +1009,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 130 + src/pixi/renderers/canvas/CanvasRenderer.js line 130 @@ -1007,9 +1025,11 @@
Type:
-
-

resolution :Number

- +
+

+ resolution : Number + +

@@ -1066,7 +1086,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 39 + src/pixi/renderers/canvas/CanvasRenderer.js line 39 @@ -1082,9 +1102,11 @@
Type:
-
-

transparent :Boolean

- +
+

+ transparent : Boolean + +

@@ -1141,7 +1163,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 59 + src/pixi/renderers/canvas/CanvasRenderer.js line 59 @@ -1157,9 +1179,11 @@
Type:
-
-

type :Number

- +
+

+ type : Number + +

@@ -1216,7 +1240,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 31 + src/pixi/renderers/canvas/CanvasRenderer.js line 31 @@ -1232,9 +1256,11 @@
Type:
-
-

view :HTMLCanvasElement

- +
+

+ view : HTMLCanvasElement + +

@@ -1291,7 +1317,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 93 + src/pixi/renderers/canvas/CanvasRenderer.js line 93 @@ -1307,9 +1333,11 @@
Type:
-
-

width :Number

- +
+

+ width : Number + +

@@ -1373,7 +1401,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 76 + src/pixi/renderers/canvas/CanvasRenderer.js line 76 @@ -1396,7 +1424,7 @@

Methods

-

+

destroy( [removeView])

@@ -1521,7 +1549,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 201 + src/pixi/renderers/canvas/CanvasRenderer.js line 201 @@ -1550,7 +1578,7 @@
Parameters:
-

+

render(root)

@@ -1658,7 +1686,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 152 + src/pixi/renderers/canvas/CanvasRenderer.js line 152 @@ -1687,7 +1715,7 @@
Parameters:
-

+

resize(width, height)

@@ -1816,7 +1844,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 223 + src/pixi/renderers/canvas/CanvasRenderer.js line 223 @@ -1859,9 +1887,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1878,9 +1906,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1892,7 +1920,7 @@
Parameters:
- +
@@ -1907,7 +1935,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasTinter.html b/docs/PIXI.CanvasTinter.html index 33ac3a972..96992a3ec 100644 --- a/docs/PIXI.CanvasTinter.html +++ b/docs/PIXI.CanvasTinter.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasTinter - + @@ -125,7 +125,7 @@

-

+

new CanvasTinter()

@@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 11 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 11 @@ -227,7 +227,7 @@

Methods

-

+

getTintedTexture(sprite, color)

@@ -356,7 +356,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 13 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 13 @@ -409,7 +409,7 @@
Returns:
-

+

tintPerPixel(texture, color, canvas)

@@ -562,7 +562,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 73 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 73 @@ -591,7 +591,7 @@
Parameters:
-

+

tintWithMultiply(texture, color, canvas)

@@ -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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -806,9 +806,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -820,7 +820,7 @@
Parameters:
- +
@@ -835,7 +835,7 @@
Parameters:
- + diff --git a/docs/PIXI.ComplexPrimitiveShader.html b/docs/PIXI.ComplexPrimitiveShader.html index cf56b69d5..5e7661f55 100644 --- a/docs/PIXI.ComplexPrimitiveShader.html +++ b/docs/PIXI.ComplexPrimitiveShader.html @@ -6,7 +6,7 @@ Phaser CE Class: ComplexPrimitiveShader - + @@ -125,7 +125,7 @@

-

+

new ComplexPrimitiveShader(gl)

@@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 10 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 10 @@ -270,9 +270,11 @@

Members

-
-

fragmentSrc :Array

- +
+

+ fragmentSrc : Array + +

@@ -329,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 37 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 37 @@ -345,9 +347,11 @@
Type:
-
-

gl :WebGLContext

- +
+

+ gl : WebGLContext + +

@@ -400,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 23 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 23 @@ -416,9 +420,11 @@
Type:
-
-

program :Any

- +
+

+ program : Any + +

@@ -475,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 30 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 30 @@ -491,9 +497,11 @@
Type:
-
-

vertexSrc :Array

- +
+

+ vertexSrc : Array + +

@@ -550,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 53 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 53 @@ -573,7 +581,7 @@

Methods

-

+

destroy()

@@ -628,7 +636,7 @@

Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 110 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 110 @@ -657,7 +665,7 @@

-

+

init()

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

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -774,9 +782,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -788,7 +796,7 @@

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

- + diff --git a/docs/PIXI.DisplayObject.html b/docs/PIXI.DisplayObject.html index 18e0ce2c4..05fb05192 100644 --- a/docs/PIXI.DisplayObject.html +++ b/docs/PIXI.DisplayObject.html @@ -6,7 +6,7 @@ Phaser CE Class: DisplayObject - + @@ -125,7 +125,7 @@

-

+

new DisplayObject()

@@ -183,7 +183,7 @@

Source:
- src/pixi/display/DisplayObject.js line 18 + src/pixi/display/DisplayObject.js line 18 @@ -227,9 +227,11 @@

Members

-
-

alpha :number

- +
+

+ alpha : number + +

@@ -296,7 +298,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -312,9 +314,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -378,7 +382,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -394,9 +398,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -453,7 +459,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -469,9 +475,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -533,7 +541,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -549,9 +557,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -618,7 +628,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -634,9 +644,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -696,7 +708,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -712,9 +724,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -774,7 +788,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -790,9 +804,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -850,7 +866,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -866,9 +882,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -927,7 +945,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -943,9 +961,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -1003,7 +1023,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1019,9 +1039,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -1081,7 +1103,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1097,9 +1119,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -1159,7 +1183,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1175,9 +1199,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -1246,7 +1272,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -1262,9 +1288,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -1327,7 +1355,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -1343,9 +1371,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -1407,7 +1437,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -1423,9 +1453,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -1487,7 +1519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -1503,9 +1535,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -1567,7 +1601,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -1583,9 +1617,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -1647,7 +1683,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -1663,9 +1699,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -1722,7 +1760,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -1738,9 +1776,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -1798,7 +1838,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -1814,9 +1854,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -1874,7 +1916,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -1897,7 +1939,7 @@

Methods

-

+

destroy()

@@ -1954,7 +1996,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -1983,7 +2025,7 @@

-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -2190,7 +2232,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -2245,7 +2287,7 @@
Returns:
-

+

preUpdate()

@@ -2300,7 +2342,7 @@

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -2329,7 +2371,7 @@

-

+

toGlobal(position)

@@ -2434,7 +2476,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -2489,7 +2531,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -2638,7 +2680,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -2693,7 +2735,7 @@
Returns:
-

+

updateCache()

@@ -2748,7 +2790,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -2803,7 +2845,7 @@
Returns:
-

+

updateTransform( [parent])

@@ -2928,7 +2970,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -2997,9 +3039,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -3016,9 +3058,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3030,7 +3072,7 @@
Returns:
- +
@@ -3045,7 +3087,7 @@
Returns:
- + diff --git a/docs/PIXI.DisplayObjectContainer.html b/docs/PIXI.DisplayObjectContainer.html index ac3cd7a0b..436eb0ef4 100644 --- a/docs/PIXI.DisplayObjectContainer.html +++ b/docs/PIXI.DisplayObjectContainer.html @@ -6,7 +6,7 @@ Phaser CE Class: DisplayObjectContainer - + @@ -125,7 +125,7 @@

-

+

new DisplayObjectContainer()

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

Source:
- src/pixi/display/DisplayObjectContainer.js line 13 + src/pixi/display/DisplayObjectContainer.js line 13 @@ -236,9 +236,11 @@

Members

-
-

alpha :number

- +
+

+ alpha : number + +

@@ -314,7 +316,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -330,9 +332,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -405,7 +409,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -421,9 +425,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -480,7 +486,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -496,9 +502,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -564,7 +572,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -580,9 +588,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -653,7 +663,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -669,9 +679,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -747,7 +759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -763,9 +775,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -824,7 +838,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -840,9 +854,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -911,7 +927,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -927,9 +943,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -998,7 +1016,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -1014,9 +1032,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -1083,7 +1103,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1099,9 +1119,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -1169,7 +1191,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1185,9 +1207,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -1254,7 +1278,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1270,9 +1294,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -1341,7 +1367,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1357,9 +1383,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -1428,7 +1456,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1444,9 +1472,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -1524,7 +1554,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -1540,9 +1570,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -1614,7 +1646,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -1630,9 +1662,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -1703,7 +1737,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -1719,9 +1753,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -1792,7 +1828,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -1808,9 +1844,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -1881,7 +1919,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -1897,9 +1935,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -1970,7 +2010,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -1986,9 +2026,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -2054,7 +2096,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -2070,9 +2112,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -2139,7 +2183,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -2155,9 +2199,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -2224,7 +2270,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -2247,7 +2293,7 @@

Methods

-

+

addChild(child)

@@ -2352,7 +2398,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -2405,7 +2451,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -2534,7 +2580,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -2587,7 +2633,7 @@
Returns:
-

+

contains(child)

@@ -2692,7 +2738,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -2741,7 +2787,7 @@
Returns:
-

+

destroy()

@@ -2807,7 +2853,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -2836,7 +2882,7 @@

-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -3052,7 +3098,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -3107,7 +3153,7 @@
Returns:
-

+

getBounds( [targetCoordinateSpace])

@@ -3227,7 +3273,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -3280,7 +3326,7 @@
Returns:
-

+

getChildAt(index)

@@ -3385,7 +3431,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -3438,7 +3484,7 @@
Returns:
-

+

getChildIndex(child)

@@ -3543,7 +3589,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -3596,7 +3642,7 @@
Returns:
-

+

getLocalBounds()

@@ -3651,7 +3697,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -3704,7 +3750,7 @@
Returns:
-

+

preUpdate()

@@ -3768,7 +3814,7 @@

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -3797,7 +3843,7 @@

-

+

removeChild(child)

@@ -3902,7 +3948,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -3955,7 +4001,7 @@
Returns:
-

+

removeChildAt(index)

@@ -4060,7 +4106,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -4113,7 +4159,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -4242,7 +4288,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -4271,7 +4317,7 @@
Parameters:
-

+

setChildIndex(child, index)

@@ -4400,7 +4446,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -4429,7 +4475,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -4558,7 +4604,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -4587,7 +4633,7 @@
Parameters:
-

+

toGlobal(position)

@@ -4701,7 +4747,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -4756,7 +4802,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -4914,7 +4960,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -4969,7 +5015,7 @@
Returns:
-

+

updateCache()

@@ -5033,7 +5079,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -5088,7 +5134,7 @@
Returns:
-

+

updateTransform( [parent])

@@ -5227,7 +5273,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -5296,9 +5342,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -5315,9 +5361,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -5329,7 +5375,7 @@
Returns:
- +
@@ -5344,7 +5390,7 @@
Returns:
- + diff --git a/docs/PIXI.FilterTexture.html b/docs/PIXI.FilterTexture.html index 68f4128e4..312a7e508 100644 --- a/docs/PIXI.FilterTexture.html +++ b/docs/PIXI.FilterTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: FilterTexture - + @@ -125,7 +125,7 @@

-

+

new FilterTexture(gl, width, height, scaleMode)

@@ -298,7 +298,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 63 + src/pixi/renderers/webgl/utils/FilterTexture.js line 63 @@ -342,9 +342,11 @@

Members

-
-

frameBuffer :Any

- +
+

+ frameBuffer : Any + +

@@ -397,7 +399,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 77 + src/pixi/renderers/webgl/utils/FilterTexture.js line 77 @@ -413,9 +415,11 @@
Type:
-
-

gl :WebGLContext

- +
+

+ gl : WebGLContext + +

@@ -468,7 +472,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 70 + src/pixi/renderers/webgl/utils/FilterTexture.js line 70 @@ -484,9 +488,11 @@
Type:
-
-

texture :Any

- +
+

+ texture : Any + +

@@ -539,7 +545,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 82 + src/pixi/renderers/webgl/utils/FilterTexture.js line 82 @@ -562,7 +568,7 @@

Methods

-

+

clear()

@@ -617,7 +623,7 @@

Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 90 + src/pixi/renderers/webgl/utils/FilterTexture.js line 90 @@ -646,7 +652,7 @@

-

+

destroy()

@@ -701,7 +707,7 @@

Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 125 + src/pixi/renderers/webgl/utils/FilterTexture.js line 125 @@ -730,7 +736,7 @@

-

+

resize(width, height)

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -921,9 +927,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -935,7 +941,7 @@
Parameters:
- +
@@ -950,7 +956,7 @@
Parameters:
- + diff --git a/docs/PIXI.Phaser.GraphicsData.html b/docs/PIXI.Phaser.GraphicsData.html index 28dc58488..f5e6a71c6 100644 --- a/docs/PIXI.Phaser.GraphicsData.html +++ b/docs/PIXI.Phaser.GraphicsData.html @@ -6,7 +6,7 @@ Phaser CE Class: Phaser.GraphicsData - + @@ -125,7 +125,7 @@

-

+

new Phaser.GraphicsData(lineWidth, lineColor, lineAlpha, fillColor, fillAlpha, fill, shape)

@@ -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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -462,9 +462,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -476,7 +476,7 @@
Parameters:
- +
@@ -491,7 +491,7 @@
Parameters:
- + diff --git a/docs/PIXI.PixiFastShader.html b/docs/PIXI.PixiFastShader.html index 45047f411..28ba9dc49 100644 --- a/docs/PIXI.PixiFastShader.html +++ b/docs/PIXI.PixiFastShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PixiFastShader - + @@ -125,7 +125,7 @@

-

+

new PixiFastShader(gl)

@@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 @@ -270,9 +270,11 @@

Members

-
-

fragmentSrc :Array

- +
+

+ fragmentSrc : Array + +

@@ -329,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 47 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 47 @@ -345,9 +347,11 @@
Type:
-
-

gl :WebGLContext

- +
+

+ gl : WebGLContext + +

@@ -400,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 22 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 22 @@ -416,9 +420,11 @@
Type:
-
-

program :Any

- +
+

+ program : Any + +

@@ -475,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 29 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 29 @@ -491,9 +497,11 @@
Type:
-
-

textureCount :Number

- +
+

+ textureCount : Number + +

@@ -550,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 125 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 125 @@ -566,9 +574,11 @@
Type:
-
-

vertexSrc :Array

- +
+

+ vertexSrc : Array + +

@@ -625,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 86 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 86 @@ -648,7 +658,7 @@

Methods

-

+

destroy()

@@ -703,7 +713,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 207 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 207 @@ -732,7 +742,7 @@

-

+

init()

@@ -787,7 +797,7 @@

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -849,9 +859,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -863,7 +873,7 @@

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

- + diff --git a/docs/PIXI.PixiShader.html b/docs/PIXI.PixiShader.html index 3b04f051b..44caf191e 100644 --- a/docs/PIXI.PixiShader.html +++ b/docs/PIXI.PixiShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PixiShader - + @@ -125,7 +125,7 @@

-

+

new PixiShader(gl)

@@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 11 + src/pixi/renderers/webgl/shaders/PixiShader.js line 11 @@ -270,9 +270,11 @@

Members

-
-

<static> defaultVertexSrc :String

- +
+

+ <static> defaultVertexSrc : String + +

@@ -329,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 475 + src/pixi/renderers/webgl/shaders/PixiShader.js line 475 @@ -345,9 +347,11 @@
Type:
-
-

dirty :Boolean

- +
+

+ dirty : Boolean + +

@@ -404,7 +408,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 60 + src/pixi/renderers/webgl/shaders/PixiShader.js line 60 @@ -420,9 +424,11 @@
Type:
-
-

fragmentSrc :Array

- +
+

+ fragmentSrc : Array + +

@@ -479,7 +485,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 38 + src/pixi/renderers/webgl/shaders/PixiShader.js line 38 @@ -495,9 +501,11 @@
Type:
-
-

gl :WebGLContext

- +
+

+ gl : WebGLContext + +

@@ -550,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 24 + src/pixi/renderers/webgl/shaders/PixiShader.js line 24 @@ -566,9 +574,11 @@
Type:
-
-

program :Any

- +
+

+ program : Any + +

@@ -625,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 31 + src/pixi/renderers/webgl/shaders/PixiShader.js line 31 @@ -641,9 +651,11 @@
Type:
-
-

textureCount :Number

- +
+

+ textureCount : Number + +

@@ -700,7 +712,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 45 + src/pixi/renderers/webgl/shaders/PixiShader.js line 45 @@ -723,7 +735,7 @@

Methods

-

+

destroy()

@@ -778,7 +790,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 455 + src/pixi/renderers/webgl/shaders/PixiShader.js line 455 @@ -807,7 +819,7 @@

-

+

init()

@@ -862,7 +874,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 224 + src/pixi/renderers/webgl/shaders/PixiShader.js line 224 @@ -891,7 +903,7 @@

-

+

initSampler2D()

@@ -946,7 +958,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 312 + src/pixi/renderers/webgl/shaders/PixiShader.js line 312 @@ -975,7 +987,7 @@

-

+

initUniforms()

@@ -1032,7 +1044,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 238 + src/pixi/renderers/webgl/shaders/PixiShader.js line 238 @@ -1061,7 +1073,7 @@

-

+

syncUniforms()

@@ -1116,7 +1128,7 @@

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1178,9 +1190,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1192,7 +1204,7 @@

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

- + diff --git a/docs/PIXI.PrimitiveShader.html b/docs/PIXI.PrimitiveShader.html index 314e6cb1c..7dcdd8ff4 100644 --- a/docs/PIXI.PrimitiveShader.html +++ b/docs/PIXI.PrimitiveShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PrimitiveShader - + @@ -125,7 +125,7 @@

-

+

new PrimitiveShader(gl)

@@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 10 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 10 @@ -270,9 +270,11 @@

Members

-
-

fragmentSrc :Array

- +
+

+ fragmentSrc : Array + +

@@ -329,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 37 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 37 @@ -345,9 +347,11 @@
Type:
-
-

gl :WebGLContext

- +
+

+ gl : WebGLContext + +

@@ -400,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 23 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 23 @@ -416,9 +420,11 @@
Type:
-
-

program :Any

- +
+

+ program : Any + +

@@ -475,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 30 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 30 @@ -491,9 +497,11 @@
Type:
-
-

vertexSrc :Array

- +
+

+ vertexSrc : Array + +

@@ -550,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 51 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 51 @@ -573,7 +581,7 @@

Methods

-

+

destroy()

@@ -628,7 +636,7 @@

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

-

+

init()

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

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -774,9 +782,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -788,7 +796,7 @@

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

- + diff --git a/docs/PIXI.Sprite.html b/docs/PIXI.Sprite.html index aae3f4979..32595dfc9 100644 --- a/docs/PIXI.Sprite.html +++ b/docs/PIXI.Sprite.html @@ -6,7 +6,7 @@ Phaser CE Class: Sprite - + @@ -125,7 +125,7 @@

-

+

new Sprite(texture)

@@ -230,7 +230,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 13 + src/pixi/display/Sprite.js line 13 @@ -285,9 +285,11 @@

Members

-
-

<static> defaultAnchor :Object

- +
+

+ <static> defaultAnchor : Object + +

@@ -394,7 +396,7 @@
Properties:
Source:
- src/pixi/display/Sprite.js line 128 + src/pixi/display/Sprite.js line 128 @@ -410,9 +412,11 @@
Properties:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -488,7 +492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -504,9 +508,11 @@
Type:
-
-

anchor :Point

- +
+

+ anchor : Point + +

@@ -567,7 +573,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -583,9 +589,11 @@
Type:
-
-

blendMode :Number

- +
+

+ blendMode : Number + +

@@ -650,7 +658,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -666,9 +674,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -741,7 +751,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -757,9 +767,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -825,7 +837,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -841,9 +853,11 @@
Type:
-
-

exists :Boolean

- +
+

+ exists : Boolean + +

@@ -907,7 +921,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -923,9 +937,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -991,7 +1007,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -1007,9 +1023,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -1080,7 +1098,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -1096,9 +1114,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -1174,7 +1194,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -1190,9 +1210,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -1260,7 +1282,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1276,9 +1298,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -1347,7 +1371,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -1363,9 +1387,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -1434,7 +1460,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -1450,9 +1476,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -1519,7 +1547,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1535,9 +1563,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -1605,7 +1635,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1621,9 +1651,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -1695,7 +1727,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1711,9 +1743,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -1782,7 +1816,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1798,9 +1832,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -1869,7 +1905,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1885,9 +1921,11 @@
Type:
-
-

shader :Phaser.Filter

- +
+

+ shader : Phaser.Filter + +

@@ -1952,7 +1990,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -1968,9 +2006,11 @@
Type:
-
-

texture :Texture

- +
+

+ texture : Texture + +

@@ -2027,7 +2067,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -2043,9 +2083,11 @@
Type:
-
-

tint :Number

- +
+

+ tint : Number + +

@@ -2109,7 +2151,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -2125,9 +2167,11 @@
Type:
-
-

tintedTexture :Canvas

- +
+

+ tintedTexture : Canvas + +

@@ -2191,7 +2235,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -2207,9 +2251,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -2287,7 +2333,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -2303,9 +2349,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -2377,7 +2425,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -2393,9 +2441,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -2466,7 +2516,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -2482,9 +2532,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -2555,7 +2607,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -2571,9 +2623,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -2644,7 +2698,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -2660,9 +2714,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -2738,7 +2794,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -2754,9 +2810,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -2822,7 +2880,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -2838,9 +2896,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -2907,7 +2967,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -2923,9 +2983,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -2992,7 +3054,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -3015,7 +3077,7 @@

Methods

-

+

addChild(child)

@@ -3129,7 +3191,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -3182,7 +3244,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -3320,7 +3382,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -3373,7 +3435,7 @@
Returns:
-

+

contains(child)

@@ -3487,7 +3549,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -3536,7 +3598,7 @@
Returns:
-

+

destroy()

@@ -3602,7 +3664,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -3631,7 +3693,7 @@

-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -3847,7 +3909,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -3902,7 +3964,7 @@
Returns:
-

+

getBounds(matrix)

@@ -4019,7 +4081,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -4072,7 +4134,7 @@
Returns:
-

+

getChildAt(index)

@@ -4186,7 +4248,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -4239,7 +4301,7 @@
Returns:
-

+

getChildIndex(child)

@@ -4353,7 +4415,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -4406,7 +4468,7 @@
Returns:
-

+

getLocalBounds()

@@ -4466,7 +4528,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -4519,7 +4581,7 @@
Returns:
-

+

preUpdate()

@@ -4583,7 +4645,7 @@

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -4612,7 +4674,7 @@

-

+

removeChild(child)

@@ -4726,7 +4788,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -4779,7 +4841,7 @@
Returns:
-

+

removeChildAt(index)

@@ -4893,7 +4955,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -4946,7 +5008,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -5084,7 +5146,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -5113,7 +5175,7 @@
Parameters:
-

+

setChildIndex(child, index)

@@ -5251,7 +5313,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -5280,7 +5342,7 @@
Parameters:
-

+

setTexture(texture [, destroy])

@@ -5442,7 +5504,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -5471,7 +5533,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -5609,7 +5671,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -5638,7 +5700,7 @@
Parameters:
-

+

toGlobal(position)

@@ -5752,7 +5814,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -5807,7 +5869,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -5965,7 +6027,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -6020,7 +6082,7 @@
Returns:
-

+

updateCache()

@@ -6084,7 +6146,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -6139,7 +6201,7 @@
Returns:
-

+

updateTransform( [parent])

@@ -6273,7 +6335,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -6342,9 +6404,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -6361,9 +6423,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -6375,7 +6437,7 @@
Returns:
- +
@@ -6390,7 +6452,7 @@
Returns:
- + diff --git a/docs/PIXI.StripShader.html b/docs/PIXI.StripShader.html index c4f930374..97f569c47 100644 --- a/docs/PIXI.StripShader.html +++ b/docs/PIXI.StripShader.html @@ -6,7 +6,7 @@ Phaser CE Class: StripShader - + @@ -125,7 +125,7 @@

-

+

new StripShader(gl)

@@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 10 + src/pixi/renderers/webgl/shaders/StripShader.js line 10 @@ -270,9 +270,11 @@

Members

-
-

fragmentSrc :Array

- +
+

+ fragmentSrc : Array + +

@@ -329,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 76 + src/pixi/renderers/webgl/shaders/StripShader.js line 49 @@ -345,9 +347,11 @@
Type:
-
-

fragmentSrc :Array

- +
+

+ fragmentSrc : Array + +

@@ -404,7 +408,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 49 + src/pixi/renderers/webgl/shaders/StripShader.js line 76 @@ -420,9 +424,11 @@
Type:
-
-

gl :WebGLContext

- +
+

+ gl : WebGLContext + +

@@ -475,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 23 + src/pixi/renderers/webgl/shaders/StripShader.js line 23 @@ -491,9 +497,11 @@
Type:
-
-

program :Any

- +
+

+ program : Any + +

@@ -550,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 30 + src/pixi/renderers/webgl/shaders/StripShader.js line 30 @@ -566,9 +574,11 @@
Type:
-
-

vertexSrc :Array

- +
+

+ vertexSrc : Array + +

@@ -625,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 95 + src/pixi/renderers/webgl/shaders/StripShader.js line 95 @@ -648,7 +658,7 @@

Methods

-

+

destroy()

@@ -703,7 +713,7 @@

Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 175 + src/pixi/renderers/webgl/shaders/StripShader.js line 175 @@ -732,7 +742,7 @@

-

+

init()

@@ -787,7 +797,7 @@

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -849,9 +859,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -863,7 +873,7 @@

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

- + diff --git a/docs/PIXI.Texture.html b/docs/PIXI.Texture.html index 5e5de42f0..0f465523c 100644 --- a/docs/PIXI.Texture.html +++ b/docs/PIXI.Texture.html @@ -6,7 +6,7 @@ Phaser CE Class: Texture - + @@ -125,7 +125,7 @@

-

+

new Texture(baseTexture, frame [, crop] [, trim])

@@ -341,7 +341,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 25 + src/pixi/textures/Texture.js line 25 @@ -385,9 +385,11 @@

Members

-
-

baseTexture :BaseTexture

- +
+

+ baseTexture : BaseTexture + +

@@ -444,7 +446,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 52 + src/pixi/textures/Texture.js line 52 @@ -460,9 +462,11 @@
Type:
-
-

crop :Rectangle

- +
+

+ crop : Rectangle + +

@@ -520,7 +524,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -536,9 +540,11 @@
Type:
-
-

frame :Rectangle

- +
+

+ frame : Rectangle + +

@@ -595,7 +601,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -611,9 +617,11 @@
Type:
-
-

height :Number

- +
+

+ height : Number + +

@@ -670,7 +678,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -686,9 +694,11 @@
Type:
-
-

isTiling :Boolean

- +
+

+ isTiling : Boolean + +

@@ -745,7 +755,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -761,9 +771,11 @@
Type:
-
-

noFrame :Boolean

- +
+

+ noFrame : Boolean + +

@@ -820,7 +832,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -836,9 +848,11 @@
Type:
-
-

requiresReTint :Boolean

- +
+

+ requiresReTint : Boolean + +

@@ -895,7 +909,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -911,9 +925,11 @@
Type:
-
-

requiresUpdate :Boolean

- +
+

+ requiresUpdate : Boolean + +

@@ -970,7 +986,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -986,9 +1002,11 @@
Type:
-
-

rotated :Boolean

- +
+

+ rotated : Boolean + +

@@ -1047,7 +1065,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -1063,9 +1081,11 @@
Type:
-
-

trim :Rectangle

- +
+

+ trim : Rectangle + +

@@ -1122,7 +1142,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -1138,9 +1158,11 @@
Type:
-
-

valid :Boolean

- +
+

+ valid : Boolean + +

@@ -1197,7 +1219,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 76 + src/pixi/textures/Texture.js line 76 @@ -1213,9 +1235,11 @@
Type:
-
-

width :Number

- +
+

+ width : Number + +

@@ -1272,7 +1296,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -1295,7 +1319,7 @@

Methods

-

+

destroy(destroyBase)

@@ -1400,7 +1424,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -1429,7 +1453,7 @@
Parameters:
-

+

fromCanvas(canvas, scaleMode)

@@ -1558,7 +1582,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -1607,7 +1631,7 @@
Returns:
-

+

setFrame(frame)

@@ -1712,7 +1736,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -1755,9 +1779,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1774,9 +1798,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1788,7 +1812,7 @@
Parameters:
- +
@@ -1803,7 +1827,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLBlendModeManager.html b/docs/PIXI.WebGLBlendModeManager.html index 8781188fb..2afdcc72c 100644 --- a/docs/PIXI.WebGLBlendModeManager.html +++ b/docs/PIXI.WebGLBlendModeManager.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLBlendModeManager - + @@ -125,7 +125,7 @@

-

+

new WebGLBlendModeManager(gl)

@@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 10 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 10 @@ -270,9 +270,11 @@

Members

-
-

currentBlendMode :Number

- +
+

+ currentBlendMode : Number + +

@@ -325,7 +327,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 16 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 16 @@ -348,7 +350,7 @@

Methods

-

+

destroy()

@@ -403,7 +405,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 54 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 54 @@ -432,7 +434,7 @@

-

+

setBlendMode(blendMode)

@@ -537,7 +539,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 32 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 32 @@ -566,7 +568,7 @@
Parameters:
-

+

setContext(gl)

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -747,7 +749,7 @@
Parameters:
- +
@@ -762,7 +764,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLFastSpriteBatch.html b/docs/PIXI.WebGLFastSpriteBatch.html index cbcd28075..29ec0ac62 100644 --- a/docs/PIXI.WebGLFastSpriteBatch.html +++ b/docs/PIXI.WebGLFastSpriteBatch.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLFastSpriteBatch - + @@ -125,7 +125,7 @@

-

+

new WebGLFastSpriteBatch()

@@ -176,7 +176,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 15 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 15 @@ -220,9 +220,11 @@

Members

-
-

currentBaseTexture :BaseTexture

- +
+

+ currentBaseTexture : BaseTexture + +

@@ -275,7 +277,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 100 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 100 @@ -291,9 +293,11 @@
Type:
-
-

currentBatchSize :Number

- +
+

+ currentBatchSize : Number + +

@@ -346,7 +350,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 94 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 94 @@ -362,9 +366,11 @@
Type:
-
-

currentBlendMode :Number

- +
+

+ currentBlendMode : Number + +

@@ -417,7 +423,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 106 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 106 @@ -433,9 +439,11 @@
Type:
-
-

drawing :Boolean

- +
+

+ drawing : Boolean + +

@@ -488,7 +496,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 88 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 88 @@ -504,9 +512,11 @@
Type:
-
-

indexBuffer :Object

- +
+

+ indexBuffer : Object + +

@@ -559,7 +569,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 66 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 66 @@ -575,9 +585,11 @@
Type:
-
-

indices :Uint16Array

- +
+

+ indices : Uint16Array + +

@@ -634,7 +646,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 54 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 54 @@ -650,9 +662,11 @@
Type:
-
-

lastIndexCount :Number

- +
+

+ lastIndexCount : Number + +

@@ -705,7 +719,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 72 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 72 @@ -721,9 +735,11 @@
Type:
-
-

matrix :Matrix

- +
+

+ matrix : Matrix + +

@@ -776,7 +792,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 124 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 124 @@ -792,9 +808,11 @@
Type:
-
-

maxSize :Number

- +
+

+ maxSize : Number + +

@@ -847,7 +865,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 28 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 28 @@ -863,9 +881,11 @@
Type:
-
-

renderSession :Object

- +
+

+ renderSession : Object + +

@@ -918,7 +938,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 112 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 112 @@ -934,9 +954,11 @@
Type:
-
-

shader :Object

- +
+

+ shader : Object + +

@@ -989,7 +1011,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 118 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 118 @@ -1005,9 +1027,11 @@
Type:
-
-

size :Number

- +
+

+ size : Number + +

@@ -1060,7 +1084,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 34 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 34 @@ -1076,9 +1100,11 @@
Type:
-
-

vertexBuffer :Object

- +
+

+ vertexBuffer : Object + +

@@ -1131,7 +1157,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 60 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 60 @@ -1147,9 +1173,11 @@
Type:
-
-

vertices :Float32Array

- +
+

+ vertices : Float32Array + +

@@ -1206,7 +1234,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 47 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 47 @@ -1222,9 +1250,11 @@
Type:
-
-

vertSize :Number

- +
+

+ vertSize : Number + +

@@ -1277,7 +1307,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 22 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 22 @@ -1300,7 +1330,7 @@

Methods

-

+

begin(spriteBatch, renderSession)

@@ -1425,7 +1455,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 155 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 155 @@ -1454,7 +1484,7 @@
Parameters:
-

+

end()

@@ -1505,7 +1535,7 @@

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

-

+

flush()

@@ -1585,7 +1615,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 360 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 360 @@ -1614,7 +1644,7 @@

-

+

render(spriteBatch)

@@ -1715,7 +1745,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 178 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 178 @@ -1744,7 +1774,7 @@
Parameters:
-

+

renderSprite(sprite)

@@ -1845,7 +1875,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 209 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 209 @@ -1874,7 +1904,7 @@
Parameters:
-

+

setContext(gl)

@@ -1979,7 +2009,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 131 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 131 @@ -2008,7 +2038,7 @@
Parameters:
-

+

start()

@@ -2059,7 +2089,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 413 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 412 @@ -2088,7 +2118,7 @@

-

+

stop()

@@ -2139,7 +2169,7 @@

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2201,9 +2231,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2215,7 +2245,7 @@

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

- + diff --git a/docs/PIXI.WebGLFilterManager.html b/docs/PIXI.WebGLFilterManager.html index 9ee046e21..1b7229eca 100644 --- a/docs/PIXI.WebGLFilterManager.html +++ b/docs/PIXI.WebGLFilterManager.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLFilterManager - + @@ -125,7 +125,7 @@

-

+

new WebGLFilterManager()

@@ -176,7 +176,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 9 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 9 @@ -220,9 +220,11 @@

Members

-
-

filterStack :Array

- +
+

+ filterStack : Array + +

@@ -275,7 +277,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 15 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 15 @@ -291,9 +293,11 @@
Type:
-
-

offsetX :Number

- +
+

+ offsetX : Number + +

@@ -346,7 +350,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 21 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 21 @@ -362,9 +366,11 @@
Type:
-
-

offsetY :Number

- +
+

+ offsetY : Number + +

@@ -417,7 +423,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 27 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 27 @@ -440,7 +446,7 @@

Methods

-

+

applyFilterPass(filter, filterArea, width, height)

@@ -617,7 +623,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 336 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 336 @@ -646,7 +652,7 @@
Parameters:
-

+

begin(renderSession, buffer)

@@ -771,7 +777,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 46 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 46 @@ -800,7 +806,7 @@
Parameters:
-

+

destroy()

@@ -855,7 +861,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 445 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 445 @@ -884,7 +890,7 @@

-

+

initShaderBuffers()

@@ -939,7 +945,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 397 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 397 @@ -968,7 +974,7 @@

-

+

popFilter()

@@ -1023,7 +1029,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 145 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 145 @@ -1052,7 +1058,7 @@

-

+

pushFilter(filterBlock)

@@ -1157,7 +1163,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 62 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 62 @@ -1186,7 +1192,7 @@
Parameters:
-

+

setContext(gl)

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1353,9 +1359,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1367,7 +1373,7 @@
Parameters:
- +
@@ -1382,7 +1388,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLRenderer.html b/docs/PIXI.WebGLRenderer.html index 85ebb4911..a828c1619 100644 --- a/docs/PIXI.WebGLRenderer.html +++ b/docs/PIXI.WebGLRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLRenderer - + @@ -125,7 +125,7 @@

-

+

new WebGLRenderer(game)

@@ -233,7 +233,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 19 + src/pixi/renderers/webgl/WebGLRenderer.js line 19 @@ -277,9 +277,11 @@

Members

-
-

autoResize :Boolean

- +
+

+ autoResize : Boolean + +

@@ -336,7 +338,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 62 + src/pixi/renderers/webgl/WebGLRenderer.js line 62 @@ -352,9 +354,11 @@
Type:
-
-

blendModeManager :WebGLBlendModeManager

- +
+

+ blendModeManager : WebGLBlendModeManager + +

@@ -411,7 +415,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 175 + src/pixi/renderers/webgl/WebGLRenderer.js line 175 @@ -427,9 +431,11 @@
Type:
-
-

clearBeforeRender :Boolean

- +
+

+ clearBeforeRender : Boolean + +

@@ -489,7 +495,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 82 + src/pixi/renderers/webgl/WebGLRenderer.js line 82 @@ -505,9 +511,11 @@
Type:
-
-

currentBatchedTextures :Array

- +
+

+ currentBatchedTextures : Array + +

@@ -560,7 +568,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 187 + src/pixi/renderers/webgl/WebGLRenderer.js line 187 @@ -576,9 +584,11 @@
Type:
-
-

filterManager :WebGLFilterManager

- +
+

+ filterManager : WebGLFilterManager + +

@@ -635,7 +645,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 161 + src/pixi/renderers/webgl/WebGLRenderer.js line 161 @@ -651,9 +661,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -710,7 +722,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 24 + src/pixi/renderers/webgl/WebGLRenderer.js line 24 @@ -726,9 +738,11 @@
Type:
-
-

height :Number

- +
+

+ height : Number + +

@@ -785,7 +799,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 98 + src/pixi/renderers/webgl/WebGLRenderer.js line 98 @@ -801,9 +815,11 @@
Type:
-
-

maskManager :WebGLMaskManager

- +
+

+ maskManager : WebGLMaskManager + +

@@ -860,7 +876,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 154 + src/pixi/renderers/webgl/WebGLRenderer.js line 154 @@ -876,9 +892,11 @@
Type:
-
-

offset :Point

- +
+

+ offset : Point + +

@@ -931,7 +949,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 131 + src/pixi/renderers/webgl/WebGLRenderer.js line 131 @@ -947,9 +965,11 @@
Type:
-
-

preserveDrawingBuffer :Boolean

- +
+

+ preserveDrawingBuffer : Boolean + +

@@ -1006,7 +1026,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 70 + src/pixi/renderers/webgl/WebGLRenderer.js line 70 @@ -1022,9 +1042,11 @@
Type:
-
-

projection :Point

- +
+

+ projection : Point + +

@@ -1077,7 +1099,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 125 + src/pixi/renderers/webgl/WebGLRenderer.js line 125 @@ -1093,9 +1115,11 @@
Type:
-
-

renderSession :Object

- +
+

+ renderSession : Object + +

@@ -1148,7 +1172,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 181 + src/pixi/renderers/webgl/WebGLRenderer.js line 181 @@ -1164,9 +1188,11 @@
Type:
-
-

resolution :Number

- +
+

+ resolution : Number + +

@@ -1230,7 +1256,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 46 + src/pixi/renderers/webgl/WebGLRenderer.js line 46 @@ -1246,9 +1272,11 @@
Type:
-
-

shaderManager :WebGLShaderManager

- +
+

+ shaderManager : WebGLShaderManager + +

@@ -1305,7 +1333,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 140 + src/pixi/renderers/webgl/WebGLRenderer.js line 140 @@ -1321,9 +1349,11 @@
Type:
-
-

spriteBatch :WebGLSpriteBatch

- +
+

+ spriteBatch : WebGLSpriteBatch + +

@@ -1380,7 +1410,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 147 + src/pixi/renderers/webgl/WebGLRenderer.js line 147 @@ -1396,9 +1426,11 @@
Type:
-
-

stencilManager :WebGLStencilManager

- +
+

+ stencilManager : WebGLStencilManager + +

@@ -1455,7 +1487,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 168 + src/pixi/renderers/webgl/WebGLRenderer.js line 168 @@ -1471,9 +1503,11 @@
Type:
-
-

transparent :Boolean

- +
+

+ transparent : Boolean + +

@@ -1530,7 +1564,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 54 + src/pixi/renderers/webgl/WebGLRenderer.js line 54 @@ -1546,9 +1580,11 @@
Type:
-
-

type :Number

- +
+

+ type : Number + +

@@ -1601,7 +1637,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 37 + src/pixi/renderers/webgl/WebGLRenderer.js line 37 @@ -1617,9 +1653,11 @@
Type:
-
-

view :HTMLCanvasElement

- +
+

+ view : HTMLCanvasElement + +

@@ -1676,7 +1714,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 106 + src/pixi/renderers/webgl/WebGLRenderer.js line 106 @@ -1692,9 +1730,11 @@
Type:
-
-

width :Number

- +
+

+ width : Number + +

@@ -1751,7 +1791,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 90 + src/pixi/renderers/webgl/WebGLRenderer.js line 90 @@ -1774,7 +1814,7 @@

Methods

-

+

destroy()

@@ -1829,7 +1869,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 578 + src/pixi/renderers/webgl/WebGLRenderer.js line 577 @@ -1858,7 +1898,7 @@

-

+

initContext()

@@ -1909,7 +1949,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 215 + src/pixi/renderers/webgl/WebGLRenderer.js line 215 @@ -1938,7 +1978,7 @@

-

+

mapBlendModes()

@@ -1993,7 +2033,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 610 + src/pixi/renderers/webgl/WebGLRenderer.js line 609 @@ -2022,7 +2062,7 @@

-

+

render(stage)

@@ -2127,7 +2167,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 359 + src/pixi/renderers/webgl/WebGLRenderer.js line 359 @@ -2156,7 +2196,7 @@
Parameters:
-

+

renderDisplayObject(displayObject, projection, buffer)

@@ -2309,7 +2349,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 394 + src/pixi/renderers/webgl/WebGLRenderer.js line 394 @@ -2338,7 +2378,7 @@
Parameters:
-

+

resize(width, height)

@@ -2467,7 +2507,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 432 + src/pixi/renderers/webgl/WebGLRenderer.js line 431 @@ -2496,7 +2536,7 @@
Parameters:
-

+

setTexturePriority(textureNameCollection)

@@ -2612,7 +2652,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 268 + src/pixi/renderers/webgl/WebGLRenderer.js line 268 @@ -2665,7 +2705,7 @@
Returns:
-

+

updateCompressedTexture(texture)

@@ -2770,7 +2810,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 458 + src/pixi/renderers/webgl/WebGLRenderer.js line 457 @@ -2823,7 +2863,7 @@
Returns:
-

+

updateTexture(texture)

@@ -2928,7 +2968,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 517 + src/pixi/renderers/webgl/WebGLRenderer.js line 516 @@ -2995,9 +3035,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -3014,9 +3054,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3028,7 +3068,7 @@
Returns:
- +
@@ -3043,7 +3083,7 @@
Returns:
- + diff --git a/docs/PIXI.html b/docs/PIXI.html index 4943a7eae..7c3d4c98a 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 @@ -264,9 +264,11 @@

Members

-
-

<static> glContexts

- +
+

+ <static> glContexts + +

@@ -315,7 +317,7 @@

<static> glContexts<
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 5 + src/pixi/renderers/webgl/WebGLRenderer.js line 5 @@ -331,9 +333,11 @@

<static> glContexts< -
-

<static> TextureSilentFail :boolean

- +
+

+ <static> TextureSilentFail : boolean + +

@@ -392,7 +396,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 12 + src/pixi/textures/Texture.js line 12 @@ -415,7 +419,7 @@

Methods

-

+

<static> CompileFragmentShader(gl, shaderSrc)

@@ -540,7 +544,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 @@ -589,7 +593,7 @@
Returns:
-

+

<static> compileProgram(gl, vertexSrc, fragmentSrc)

@@ -738,7 +742,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 @@ -787,7 +791,7 @@
Returns:
-

+

<static> CompileVertexShader(gl, shaderSrc)

@@ -912,7 +916,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 @@ -975,9 +979,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -994,9 +998,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1008,7 +1012,7 @@
Returns:
- +
@@ -1023,7 +1027,7 @@
Returns:
- + diff --git a/docs/Phaser.Animation.html b/docs/Phaser.Animation.html index c534f8ce6..28e28a749 100644 --- a/docs/Phaser.Animation.html +++ b/docs/Phaser.Animation.html @@ -6,7 +6,7 @@ Phaser CE Class: Animation - + @@ -125,7 +125,7 @@

-

+

new Animation(game, parent, name, frameData, frames [, frameRate] [, loop])

@@ -474,7 +474,7 @@
Parameters:
Source:
- src/animation/Animation.js line 22 + src/animation/Animation.js line 22 @@ -518,9 +518,11 @@

Members

-
-

currentFrame :Phaser.Frame

- +
+

+ currentFrame : Phaser.Frame + +

@@ -577,7 +579,7 @@
Type:
Source:
- src/animation/Animation.js line 125 + src/animation/Animation.js line 125 @@ -593,9 +595,11 @@
Type:
-
-

delay :number

- +
+

+ delay : number + +

@@ -652,7 +656,7 @@
Type:
Source:
- src/animation/Animation.js line 58 + src/animation/Animation.js line 58 @@ -668,9 +672,11 @@
Type:
-
-

enableUpdate :boolean

- +
+

+ enableUpdate : boolean + +

@@ -727,7 +733,7 @@
Type:
Source:
- src/animation/Animation.js line 808 + src/animation/Animation.js line 808 @@ -743,9 +749,11 @@
Type:
-
-

frame :number

- +
+

+ frame : number + +

@@ -802,7 +810,7 @@
Type:
Source:
- src/animation/Animation.js line 747 + src/animation/Animation.js line 747 @@ -818,9 +826,11 @@
Type:
-
-

<readonly> frameTotal :number

- +
+

+ <readonly> frameTotal : number + +

@@ -877,7 +887,7 @@
Type:
Source:
- src/animation/Animation.js line 734 + src/animation/Animation.js line 734 @@ -893,9 +903,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -952,7 +964,7 @@
Type:
Source:
- src/animation/Animation.js line 29 + src/animation/Animation.js line 29 @@ -968,9 +980,11 @@
Type:
-
-

isFinished :boolean

- +
+

+ isFinished : boolean + +

@@ -1027,7 +1041,7 @@
Type:
Source:
- src/animation/Animation.js line 80 + src/animation/Animation.js line 80 @@ -1043,9 +1057,11 @@
Type:
-
-

isPaused :boolean

- +
+

+ isPaused : boolean + +

@@ -1102,7 +1118,7 @@
Type:
Source:
- src/animation/Animation.js line 92 + src/animation/Animation.js line 92 @@ -1118,9 +1134,11 @@
Type:
-
-

isPlaying :boolean

- +
+

+ isPlaying : boolean + +

@@ -1177,7 +1195,7 @@
Type:
Source:
- src/animation/Animation.js line 86 + src/animation/Animation.js line 86 @@ -1193,9 +1211,11 @@
Type:
-
-

isReversed :boolean

- +
+

+ isReversed : boolean + +

@@ -1252,7 +1272,7 @@
Type:
Source:
- src/animation/Animation.js line 157 + src/animation/Animation.js line 157 @@ -1268,9 +1288,11 @@
Type:
-
-

killOnComplete :boolean

- +
+

+ killOnComplete : boolean + +

@@ -1327,7 +1349,7 @@
Type:
Source:
- src/animation/Animation.js line 74 + src/animation/Animation.js line 74 @@ -1343,9 +1365,11 @@
Type:
-
-

loop :boolean

- +
+

+ loop : boolean + +

@@ -1402,7 +1426,7 @@
Type:
Source:
- src/animation/Animation.js line 63 + src/animation/Animation.js line 63 @@ -1418,9 +1442,11 @@
Type:
-
-

loopCount :number

- +
+

+ loopCount : number + +

@@ -1477,7 +1503,7 @@
Type:
Source:
- src/animation/Animation.js line 68 + src/animation/Animation.js line 68 @@ -1493,9 +1519,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -1552,7 +1580,7 @@
Type:
Source:
- src/animation/Animation.js line 46 + src/animation/Animation.js line 46 @@ -1568,9 +1596,11 @@
Type:
-
-

onComplete :Phaser.Signal

- +
+

+ onComplete : Phaser.Signal + +

@@ -1627,7 +1657,7 @@
Type:
Source:
- src/animation/Animation.js line 146 + src/animation/Animation.js line 146 @@ -1643,9 +1673,11 @@
Type:
-
-

onLoop :Phaser.Signal

- +
+

+ onLoop : Phaser.Signal + +

@@ -1702,7 +1734,7 @@
Type:
Source:
- src/animation/Animation.js line 151 + src/animation/Animation.js line 151 @@ -1718,9 +1750,11 @@
Type:
-
-

onStart :Phaser.Signal

- +
+

+ onStart : Phaser.Signal + +

@@ -1777,7 +1811,7 @@
Type:
Source:
- src/animation/Animation.js line 130 + src/animation/Animation.js line 130 @@ -1793,9 +1827,11 @@
Type:
-
-

onUpdate :Phaser.Signal|null

- +
+

+ onUpdate : Phaser.Signal | null + +

@@ -1859,7 +1895,7 @@
Type:
Source:
- src/animation/Animation.js line 141 + src/animation/Animation.js line 141 @@ -1875,9 +1911,11 @@
Type:
-
-

paused :boolean

- +
+

+ paused : boolean + +

@@ -1934,7 +1972,7 @@
Type:
Source:
- src/animation/Animation.js line 680 + src/animation/Animation.js line 680 @@ -1950,9 +1988,11 @@
Type:
-
-

reversed :boolean

- +
+

+ reversed : boolean + +

@@ -2009,7 +2049,7 @@
Type:
Source:
- src/animation/Animation.js line 714 + src/animation/Animation.js line 714 @@ -2025,9 +2065,11 @@
Type:
-
-

speed :number

- +
+

+ speed : number + +

@@ -2084,7 +2126,7 @@
Type:
Source:
- src/animation/Animation.js line 785 + src/animation/Animation.js line 785 @@ -2107,7 +2149,7 @@

Methods

-

+

<static> generateFrameNames(prefix, start, stop [, suffix] [, zeroPad])

@@ -2382,7 +2424,7 @@
Parameters:
Source:
- src/animation/Animation.js line 836 + src/animation/Animation.js line 836 @@ -2435,7 +2477,7 @@
Returns:
-

+

complete()

@@ -2491,7 +2533,7 @@

Source:
- src/animation/Animation.js line 650 + src/animation/Animation.js line 650 @@ -2520,7 +2562,7 @@

-

+

destroy()

@@ -2575,7 +2617,7 @@

Source:
- src/animation/Animation.js line 616 + src/animation/Animation.js line 616 @@ -2604,7 +2646,7 @@

-

+

next( [quantity])

@@ -2729,7 +2771,7 @@
Parameters:
Source:
- src/animation/Animation.js line 539 + src/animation/Animation.js line 539 @@ -2758,7 +2800,7 @@
Parameters:
-

+

onPause()

@@ -2813,7 +2855,7 @@

Source:
- src/animation/Animation.js line 369 + src/animation/Animation.js line 369 @@ -2842,7 +2884,7 @@

-

+

onResume()

@@ -2897,7 +2939,7 @@

Source:
- src/animation/Animation.js line 383 + src/animation/Animation.js line 383 @@ -2926,7 +2968,7 @@

-

+

play( [frameRate] [, loop] [, killOnComplete])

@@ -3133,7 +3175,7 @@
Parameters:
Source:
- src/animation/Animation.js line 167 + src/animation/Animation.js line 167 @@ -3188,7 +3230,7 @@
Returns:
-

+

previous( [quantity])

@@ -3313,7 +3355,7 @@
Parameters:
Source:
- src/animation/Animation.js line 571 + src/animation/Animation.js line 571 @@ -3342,7 +3384,7 @@
Parameters:
-

+

restart()

@@ -3397,7 +3439,7 @@

Source:
- src/animation/Animation.js line 221 + src/animation/Animation.js line 221 @@ -3426,7 +3468,7 @@

-

+

reverse()

@@ -3481,7 +3523,7 @@

Source:
- src/animation/Animation.js line 249 + src/animation/Animation.js line 249 @@ -3534,7 +3576,7 @@
Returns:
-

+

reverseOnce()

@@ -3591,7 +3633,7 @@

Source:
- src/animation/Animation.js line 263 + src/animation/Animation.js line 263 @@ -3644,7 +3686,7 @@
Returns:
-

+

setFrame( [frameId] [, useLocalFrameIndex])

@@ -3810,7 +3852,7 @@
Parameters:
Source:
- src/animation/Animation.js line 279 + src/animation/Animation.js line 279 @@ -3839,7 +3881,7 @@
Parameters:
-

+

stop( [resetFrame] [, dispatchComplete])

@@ -4005,7 +4047,7 @@
Parameters:
Source:
- src/animation/Animation.js line 338 + src/animation/Animation.js line 338 @@ -4034,7 +4076,7 @@
Parameters:
-

+

update()

@@ -4089,7 +4131,7 @@

Source:
- src/animation/Animation.js line 397 + src/animation/Animation.js line 397 @@ -4118,7 +4160,7 @@

-

+

updateFrameData(frameData)

@@ -4223,7 +4265,7 @@
Parameters:
Source:
- src/animation/Animation.js line 603 + src/animation/Animation.js line 603 @@ -4266,9 +4308,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -4285,9 +4327,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -4299,7 +4341,7 @@
Parameters:
- +
@@ -4314,7 +4356,7 @@
Parameters:
- + diff --git a/docs/Phaser.AnimationManager.html b/docs/Phaser.AnimationManager.html index 772841659..40c4a2152 100644 --- a/docs/Phaser.AnimationManager.html +++ b/docs/Phaser.AnimationManager.html @@ -6,7 +6,7 @@ Phaser CE Class: AnimationManager - + @@ -125,7 +125,7 @@

-

+

new AnimationManager(sprite)

@@ -231,7 +231,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 15 + src/animation/AnimationManager.js line 15 @@ -275,9 +275,11 @@

Members

-
-

currentAnim :Phaser.Animation

- +
+

+ currentAnim : Phaser.Animation + +

@@ -334,7 +336,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 40 + src/animation/AnimationManager.js line 40 @@ -350,9 +352,11 @@
Type:
-
-

currentFrame :Phaser.Frame

- +
+

+ currentFrame : Phaser.Frame + +

@@ -410,7 +414,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 34 + src/animation/AnimationManager.js line 34 @@ -426,9 +430,11 @@
Type:
-
-

frame :number

- +
+

+ frame : number + +

@@ -485,7 +491,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 503 + src/animation/AnimationManager.js line 503 @@ -501,9 +507,11 @@
Type:
-
-

<readonly> frameData :Phaser.FrameData

- +
+

+ <readonly> frameData : Phaser.FrameData + +

@@ -560,7 +568,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 439 + src/animation/AnimationManager.js line 439 @@ -576,9 +584,11 @@
Type:
-
-

frameName :string

- +
+

+ frameName : string + +

@@ -635,7 +645,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 532 + src/animation/AnimationManager.js line 532 @@ -651,9 +661,11 @@
Type:
-
-

<readonly> frameTotal :number

- +
+

+ <readonly> frameTotal : number + +

@@ -710,7 +722,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 452 + src/animation/AnimationManager.js line 452 @@ -726,9 +738,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -785,7 +799,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 25 + src/animation/AnimationManager.js line 25 @@ -801,9 +815,11 @@
Type:
-
-

isLoaded :boolean

- +
+

+ isLoaded : boolean + +

@@ -860,7 +876,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 52 + src/animation/AnimationManager.js line 52 @@ -876,9 +892,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -935,7 +953,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 486 + src/animation/AnimationManager.js line 486 @@ -951,9 +969,11 @@
Type:
-
-

paused :boolean

- +
+

+ paused : boolean + +

@@ -1010,7 +1030,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 466 + src/animation/AnimationManager.js line 466 @@ -1026,9 +1046,11 @@
Type:
-
-

sprite :Phaser.Sprite

- +
+

+ sprite : Phaser.Sprite + +

@@ -1085,7 +1107,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 20 + src/animation/AnimationManager.js line 20 @@ -1101,9 +1123,11 @@
Type:
-
-

updateIfVisible :boolean

- +
+

+ updateIfVisible : boolean + +

@@ -1167,7 +1191,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 46 + src/animation/AnimationManager.js line 46 @@ -1190,7 +1214,7 @@

Methods

-

+

add(name [, frames] [, frameRate] [, loop] [, useNumericIndex])

@@ -1472,7 +1496,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 170 + src/animation/AnimationManager.js line 170 @@ -1525,7 +1549,7 @@
Returns:
-

+

destroy()

@@ -1581,7 +1605,7 @@

Source:
- src/animation/AnimationManager.js line 407 + src/animation/AnimationManager.js line 407 @@ -1610,7 +1634,7 @@

-

+

getAnimation(name)

@@ -1715,7 +1739,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 374 + src/animation/AnimationManager.js line 374 @@ -1768,7 +1792,7 @@
Returns:
-

+

next( [quantity])

@@ -1893,7 +1917,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 342 + src/animation/AnimationManager.js line 342 @@ -1922,7 +1946,7 @@
Parameters:
-

+

play(name [, frameRate] [, loop] [, killOnComplete])

@@ -2167,7 +2191,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 253 + src/animation/AnimationManager.js line 253 @@ -2220,7 +2244,7 @@
Returns:
-

+

previous( [quantity])

@@ -2345,7 +2369,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 358 + src/animation/AnimationManager.js line 358 @@ -2374,7 +2398,7 @@
Parameters:
-

+

refreshFrame()

@@ -2429,7 +2453,7 @@

Source:
- src/animation/AnimationManager.js line 395 + src/animation/AnimationManager.js line 395 @@ -2458,7 +2482,7 @@

-

+

stop( [name] [, resetFrame])

@@ -2624,7 +2648,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 299 + src/animation/AnimationManager.js line 299 @@ -2653,7 +2677,7 @@
Parameters:
-

+

<protected> update()

@@ -2708,7 +2732,7 @@

Source:
- src/animation/AnimationManager.js line 318 + src/animation/AnimationManager.js line 318 @@ -2761,7 +2785,7 @@
Returns:
-

+

validateFrames(frames [, useNumericIndex])

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -3008,9 +3032,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3022,7 +3046,7 @@
Returns:
- +
@@ -3037,7 +3061,7 @@
Returns:
- + diff --git a/docs/Phaser.AnimationParser.html b/docs/Phaser.AnimationParser.html index a00187e9d..39778a835 100644 --- a/docs/Phaser.AnimationParser.html +++ b/docs/Phaser.AnimationParser.html @@ -6,7 +6,7 @@ Phaser CE Class: AnimationParser - + @@ -125,7 +125,7 @@

-

+

new AnimationParser()

@@ -180,7 +180,7 @@

Source:
- src/animation/AnimationParser.js line 13 + src/animation/AnimationParser.js line 13 @@ -227,7 +227,7 @@

Methods

-

+

<static> JSONData(game, json)

@@ -356,7 +356,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 114 + src/animation/AnimationParser.js line 114 @@ -409,7 +409,7 @@
Returns:
-

+

<static> JSONDataHash(game, json)

@@ -538,7 +538,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 230 + src/animation/AnimationParser.js line 230 @@ -591,7 +591,7 @@
Returns:
-

+

<static> JSONDataPyxel(game, json)

@@ -720,7 +720,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 173 + src/animation/AnimationParser.js line 173 @@ -773,7 +773,7 @@
Returns:
-

+

<static> spriteSheet(game, key, frameWidth, frameHeight [, frameMax] [, margin] [, spacing] [, skipFrames])

@@ -1165,7 +1165,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 15 + src/animation/AnimationParser.js line 15 @@ -1218,7 +1218,7 @@
Returns:
-

+

<static> XMLData(game, xml)

@@ -1347,7 +1347,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 292 + src/animation/AnimationParser.js line 292 @@ -1414,9 +1414,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1433,9 +1433,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1447,7 +1447,7 @@
Returns:
- +
@@ -1462,7 +1462,7 @@
Returns:
- + diff --git a/docs/Phaser.ArraySet.html b/docs/Phaser.ArraySet.html index 2f041d3ad..81fd435b6 100644 --- a/docs/Phaser.ArraySet.html +++ b/docs/Phaser.ArraySet.html @@ -6,7 +6,7 @@ Phaser CE Class: ArraySet - + @@ -125,7 +125,7 @@

-

+

new ArraySet( [list])

@@ -253,7 +253,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 19 + src/utils/ArraySet.js line 19 @@ -297,9 +297,11 @@

Members

-
-

first :any

- +
+

+ first : any + +

@@ -356,7 +358,7 @@
Type:
Source:
- src/utils/ArraySet.js line 231 + src/utils/ArraySet.js line 231 @@ -372,9 +374,11 @@
Type:
-
-

list :Array.<any>

- +
+

+ list : Array.<any> + +

@@ -431,7 +435,7 @@
Type:
Source:
- src/utils/ArraySet.js line 32 + src/utils/ArraySet.js line 32 @@ -447,9 +451,11 @@
Type:
-
-

next :any

- +
+

+ next : any + +

@@ -506,7 +512,7 @@
Type:
Source:
- src/utils/ArraySet.js line 256 + src/utils/ArraySet.js line 256 @@ -522,9 +528,11 @@
Type:
-
-

position :integer

- +
+

+ position : integer + +

@@ -581,7 +589,7 @@
Type:
Source:
- src/utils/ArraySet.js line 26 + src/utils/ArraySet.js line 26 @@ -597,9 +605,11 @@
Type:
-
-

total :integer

- +
+

+ total : integer + +

@@ -656,7 +666,7 @@
Type:
Source:
- src/utils/ArraySet.js line 217 + src/utils/ArraySet.js line 217 @@ -679,7 +689,7 @@

Methods

-

+

add(item)

@@ -785,7 +795,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 38 + src/utils/ArraySet.js line 38 @@ -838,7 +848,7 @@
Returns:
-

+

callAll(key, parameter)

@@ -989,7 +999,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 159 + src/utils/ArraySet.js line 159 @@ -1018,7 +1028,7 @@
Parameters:
-

+

exists(item)

@@ -1123,7 +1133,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 95 + src/utils/ArraySet.js line 95 @@ -1176,7 +1186,7 @@
Returns:
-

+

getByKey(property, value)

@@ -1306,7 +1316,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 70 + src/utils/ArraySet.js line 70 @@ -1359,7 +1369,7 @@
Returns:
-

+

getIndex(item)

@@ -1464,7 +1474,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 57 + src/utils/ArraySet.js line 57 @@ -1517,7 +1527,7 @@
Returns:
-

+

remove(item)

@@ -1622,7 +1632,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 119 + src/utils/ArraySet.js line 119 @@ -1675,7 +1685,7 @@
Returns:
-

+

removeAll( [destroy])

@@ -1800,7 +1810,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 185 + src/utils/ArraySet.js line 185 @@ -1829,7 +1839,7 @@
Parameters:
-

+

reset()

@@ -1884,7 +1894,7 @@

Source:
- src/utils/ArraySet.js line 108 + src/utils/ArraySet.js line 108 @@ -1913,7 +1923,7 @@

-

+

setAll(key, value)

@@ -2042,7 +2052,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 138 + src/utils/ArraySet.js line 138 @@ -2085,9 +2095,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2104,9 +2114,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2118,7 +2128,7 @@
Parameters:
- +
@@ -2133,7 +2143,7 @@
Parameters:
- + diff --git a/docs/Phaser.ArrayUtils.html b/docs/Phaser.ArrayUtils.html index d322ee867..c3970ff83 100644 --- a/docs/Phaser.ArrayUtils.html +++ b/docs/Phaser.ArrayUtils.html @@ -6,7 +6,7 @@ Phaser CE Class: ArrayUtils - + @@ -125,7 +125,7 @@

-

+

new ArrayUtils()

@@ -180,7 +180,7 @@

Source:
- src/utils/ArrayUtils.js line 13 + src/utils/ArrayUtils.js line 13 @@ -227,7 +227,7 @@

Methods

-

+

<static> findClosest(value, arr)

@@ -357,7 +357,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 163 + src/utils/ArrayUtils.js line 163 @@ -410,7 +410,7 @@
Returns:
-

+

<static> getRandomItem(objects, startIndex, length)

@@ -565,7 +565,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 15 + src/utils/ArrayUtils.js line 15 @@ -618,7 +618,7 @@
Returns:
-

+

<static> numberArray(start, end)

@@ -629,7 +629,7 @@

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

+This is equivalent to numberArrayStep(start, 1 + end, 1).

@@ -748,7 +748,7 @@

Parameters:
Source:
- src/utils/ArrayUtils.js line 262 + src/utils/ArrayUtils.js line 262 @@ -801,7 +801,7 @@
Returns:
-

+

<static> numberArrayStep(start [, end] [, step])

@@ -1004,7 +1004,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 284 + src/utils/ArrayUtils.js line 284 @@ -1079,7 +1079,7 @@
Example
-

+

<static> removeRandomItem(objects, startIndex, length)

@@ -1234,7 +1234,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 39 + src/utils/ArrayUtils.js line 39 @@ -1287,7 +1287,7 @@
Returns:
-

+

<static> rotate(array) deprecated

@@ -1405,7 +1405,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 239 + src/utils/ArrayUtils.js line 239 @@ -1458,7 +1458,7 @@
Returns:
-

+

<static> rotateLeft(array)

@@ -1567,7 +1567,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 217 + src/utils/ArrayUtils.js line 217 @@ -1620,7 +1620,7 @@
Returns:
-

+

<static> rotateMatrix(matrix, direction)

@@ -1753,7 +1753,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 122 + src/utils/ArrayUtils.js line 122 @@ -1806,7 +1806,7 @@
Returns:
-

+

<static> rotateRight(array)

@@ -1915,7 +1915,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 195 + src/utils/ArrayUtils.js line 195 @@ -1968,7 +1968,7 @@
Returns:
-

+

<static> shuffle(array)

@@ -2073,7 +2073,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 73 + src/utils/ArrayUtils.js line 73 @@ -2126,7 +2126,7 @@
Returns:
-

+

<static> transposeMatrix(array)

@@ -2231,7 +2231,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 94 + src/utils/ArrayUtils.js line 94 @@ -2298,9 +2298,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2317,9 +2317,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2331,7 +2331,7 @@
Returns:
- +
@@ -2346,7 +2346,7 @@
Returns:
- + diff --git a/docs/Phaser.AudioSprite.html b/docs/Phaser.AudioSprite.html index db2cf5330..226b0fbec 100644 --- a/docs/Phaser.AudioSprite.html +++ b/docs/Phaser.AudioSprite.html @@ -6,7 +6,7 @@ Phaser CE Class: AudioSprite - + @@ -125,7 +125,7 @@

-

+

new AudioSprite(game, key)

@@ -255,7 +255,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 17 + src/sound/AudioSprite.js line 17 @@ -299,9 +299,11 @@

Members

-
-

autoplay :boolean

- +
+

+ autoplay : boolean + +

@@ -358,7 +360,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 48 + src/sound/AudioSprite.js line 48 @@ -374,9 +376,11 @@
Type:
-
-

autoplayKey :string

- +
+

+ autoplayKey : string + +

@@ -433,7 +437,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 41 + src/sound/AudioSprite.js line 41 @@ -449,9 +453,11 @@
Type:
-
-

config :object

- +
+

+ config : object + +

@@ -508,7 +514,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 35 + src/sound/AudioSprite.js line 35 @@ -524,9 +530,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -583,7 +591,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 23 + src/sound/AudioSprite.js line 23 @@ -599,9 +607,11 @@
Type:
-
-

key :string

- +
+

+ key : string + +

@@ -658,7 +668,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 29 + src/sound/AudioSprite.js line 29 @@ -674,9 +684,11 @@
Type:
-
-

sounds :object

- +
+

+ sounds : object + +

@@ -733,7 +745,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 54 + src/sound/AudioSprite.js line 54 @@ -756,7 +768,7 @@

Methods

-

+

get(marker)

@@ -861,7 +873,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 115 + src/sound/AudioSprite.js line 115 @@ -914,7 +926,7 @@
Returns:
-

+

play( [marker] [, volume])

@@ -1077,7 +1089,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 77 + src/sound/AudioSprite.js line 77 @@ -1130,7 +1142,7 @@
Returns:
-

+

stop( [marker])

@@ -1255,7 +1267,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 93 + src/sound/AudioSprite.js line 93 @@ -1298,9 +1310,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1317,9 +1329,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1331,7 +1343,7 @@
Parameters:
- +
@@ -1346,7 +1358,7 @@
Parameters:
- + diff --git a/docs/Phaser.BitmapData.html b/docs/Phaser.BitmapData.html index e6db9a47b..2fbd2e203 100644 --- a/docs/Phaser.BitmapData.html +++ b/docs/Phaser.BitmapData.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapData - + @@ -125,7 +125,7 @@

-

+

new BitmapData(game, key [, width] [, height] [, skipPool])

@@ -407,7 +407,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 24 + src/gameobjects/BitmapData.js line 24 @@ -451,9 +451,11 @@

Members

-
-

baseTexture :PIXI.BaseTexture

- +
+

+ baseTexture : PIXI.BaseTexture + +

@@ -510,7 +512,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 124 + src/gameobjects/BitmapData.js line 124 @@ -526,9 +528,11 @@
Type:
-
-

canvas :HTMLCanvasElement

- +
+

+ canvas : HTMLCanvasElement + +

@@ -585,7 +589,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 54 + src/gameobjects/BitmapData.js line 54 @@ -601,9 +605,11 @@
Type:
-
-

context :CanvasRenderingContext2D

- +
+

+ context : CanvasRenderingContext2D + +

@@ -660,7 +666,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 60 + src/gameobjects/BitmapData.js line 60 @@ -676,9 +682,11 @@
Type:
-
-

ctx :CanvasRenderingContext2D

- +
+

+ ctx : CanvasRenderingContext2D + +

@@ -735,7 +743,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 65 + src/gameobjects/BitmapData.js line 65 @@ -751,9 +759,11 @@
Type:
-
-

data :Uint8ClampedArray

- +
+

+ data : Uint8ClampedArray + +

@@ -811,7 +821,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 84 + src/gameobjects/BitmapData.js line 84 @@ -827,9 +837,11 @@
Type:
-
-

dirty :boolean

- +
+

+ dirty : boolean + +

@@ -886,7 +898,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 159 + src/gameobjects/BitmapData.js line 159 @@ -902,9 +914,11 @@
Type:
-
-

disableTextureUpload :boolean

- +
+

+ disableTextureUpload : boolean + +

@@ -961,7 +975,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 154 + src/gameobjects/BitmapData.js line 154 @@ -977,9 +991,11 @@
Type:
-
-

frameData :Phaser.FrameData

- +
+

+ frameData : Phaser.FrameData + +

@@ -1036,7 +1052,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 135 + src/gameobjects/BitmapData.js line 135 @@ -1052,9 +1068,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -1111,7 +1129,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 33 + src/gameobjects/BitmapData.js line 33 @@ -1127,9 +1145,11 @@
Type:
-
-

height :number

- +
+

+ height : number + +

@@ -1186,7 +1206,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 48 + src/gameobjects/BitmapData.js line 48 @@ -1202,9 +1222,11 @@
Type:
-
-

imageData :ImageData

- +
+

+ imageData : ImageData + +

@@ -1263,7 +1285,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 77 + src/gameobjects/BitmapData.js line 77 @@ -1279,9 +1301,11 @@
Type:
-
-

key :string

- +
+

+ key : string + +

@@ -1338,7 +1362,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 38 + src/gameobjects/BitmapData.js line 38 @@ -1354,9 +1378,11 @@
Type:
-
-

pixels :Uint32Array

- +
+

+ pixels : Uint32Array + +

@@ -1413,7 +1439,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 94 + src/gameobjects/BitmapData.js line 94 @@ -1429,9 +1455,11 @@
Type:
-
-

smoothProperty :string

- +
+

+ smoothProperty : string + +

@@ -1488,7 +1516,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 70 + src/gameobjects/BitmapData.js line 70 @@ -1504,9 +1532,11 @@
Type:
-
-

texture :PIXI.Texture

- +
+

+ texture : PIXI.Texture + +

@@ -1563,7 +1593,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 130 + src/gameobjects/BitmapData.js line 130 @@ -1579,9 +1609,11 @@
Type:
-
-

textureFrame :Phaser.Frame

- +
+

+ textureFrame : Phaser.Frame + +

@@ -1638,7 +1670,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 141 + src/gameobjects/BitmapData.js line 141 @@ -1654,9 +1686,11 @@
Type:
-
-

type :number

- +
+

+ type : number + +

@@ -1713,7 +1747,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 149 + src/gameobjects/BitmapData.js line 149 @@ -1729,9 +1763,11 @@
Type:
-
-

width :number

- +
+

+ width : number + +

@@ -1788,7 +1824,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 43 + src/gameobjects/BitmapData.js line 43 @@ -1811,7 +1847,7 @@

Methods

-

+

<static> getTransform(translateX, translateY, scaleX, scaleY, skewX, skewY)

@@ -2036,7 +2072,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2476 + src/gameobjects/BitmapData.js line 2482 @@ -2089,7 +2125,7 @@
Returns:
-

+

add(object)

@@ -2204,7 +2240,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 393 + src/gameobjects/BitmapData.js line 393 @@ -2257,7 +2293,7 @@
Returns:
-

+

addToWorld( [x] [, y] [, anchorX] [, anchorY] [, scaleX] [, scaleY])

@@ -2582,7 +2618,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1211 + src/gameobjects/BitmapData.js line 1217 @@ -2635,7 +2671,7 @@
Returns:
-

+

alphaMask(source [, mask] [, sourceRect] [, maskRect])

@@ -2888,7 +2924,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1770 + src/gameobjects/BitmapData.js line 1776 @@ -2941,7 +2977,7 @@
Returns:
-

+

blendAdd()

@@ -2996,7 +3032,7 @@

Source:
- src/gameobjects/BitmapData.js line 2201 + src/gameobjects/BitmapData.js line 2207 @@ -3049,7 +3085,7 @@
Returns:
-

+

blendColor()

@@ -3104,7 +3140,7 @@

Source:
- src/gameobjects/BitmapData.js line 2383 + src/gameobjects/BitmapData.js line 2389 @@ -3157,7 +3193,7 @@
Returns:
-

+

blendColorBurn()

@@ -3212,7 +3248,7 @@

Source:
- src/gameobjects/BitmapData.js line 2292 + src/gameobjects/BitmapData.js line 2298 @@ -3265,7 +3301,7 @@
Returns:
-

+

blendColorDodge()

@@ -3320,7 +3356,7 @@

Source:
- src/gameobjects/BitmapData.js line 2279 + src/gameobjects/BitmapData.js line 2285 @@ -3373,7 +3409,7 @@
Returns:
-

+

blendDarken()

@@ -3428,7 +3464,7 @@

Source:
- src/gameobjects/BitmapData.js line 2253 + src/gameobjects/BitmapData.js line 2259 @@ -3481,7 +3517,7 @@
Returns:
-

+

blendDestinationAtop()

@@ -3536,7 +3572,7 @@

Source:
- src/gameobjects/BitmapData.js line 2175 + src/gameobjects/BitmapData.js line 2181 @@ -3589,7 +3625,7 @@
Returns:
-

+

blendDestinationIn()

@@ -3644,7 +3680,7 @@

Source:
- src/gameobjects/BitmapData.js line 2149 + src/gameobjects/BitmapData.js line 2155 @@ -3697,7 +3733,7 @@
Returns:
-

+

blendDestinationOut()

@@ -3752,7 +3788,7 @@

Source:
- src/gameobjects/BitmapData.js line 2162 + src/gameobjects/BitmapData.js line 2168 @@ -3805,7 +3841,7 @@
Returns:
-

+

blendDestinationOver()

@@ -3860,7 +3896,7 @@

Source:
- src/gameobjects/BitmapData.js line 2136 + src/gameobjects/BitmapData.js line 2142 @@ -3913,7 +3949,7 @@
Returns:
-

+

blendDifference()

@@ -3968,7 +4004,7 @@

Source:
- src/gameobjects/BitmapData.js line 2331 + src/gameobjects/BitmapData.js line 2337 @@ -4021,7 +4057,7 @@
Returns:
-

+

blendExclusion()

@@ -4076,7 +4112,7 @@

Source:
- src/gameobjects/BitmapData.js line 2344 + src/gameobjects/BitmapData.js line 2350 @@ -4129,7 +4165,7 @@
Returns:
-

+

blendHardLight()

@@ -4184,7 +4220,7 @@

Source:
- src/gameobjects/BitmapData.js line 2305 + src/gameobjects/BitmapData.js line 2311 @@ -4237,7 +4273,7 @@
Returns:
-

+

blendHue()

@@ -4292,7 +4328,7 @@

Source:
- src/gameobjects/BitmapData.js line 2357 + src/gameobjects/BitmapData.js line 2363 @@ -4345,7 +4381,7 @@
Returns:
-

+

blendLighten()

@@ -4400,7 +4436,7 @@

Source:
- src/gameobjects/BitmapData.js line 2266 + src/gameobjects/BitmapData.js line 2272 @@ -4453,7 +4489,7 @@
Returns:
-

+

blendLuminosity()

@@ -4508,7 +4544,7 @@

Source:
- src/gameobjects/BitmapData.js line 2396 + src/gameobjects/BitmapData.js line 2402 @@ -4561,7 +4597,7 @@
Returns:
-

+

blendMultiply()

@@ -4616,7 +4652,7 @@

Source:
- src/gameobjects/BitmapData.js line 2214 + src/gameobjects/BitmapData.js line 2220 @@ -4669,7 +4705,7 @@
Returns:
-

+

blendOverlay()

@@ -4724,7 +4760,7 @@

Source:
- src/gameobjects/BitmapData.js line 2240 + src/gameobjects/BitmapData.js line 2246 @@ -4777,7 +4813,7 @@
Returns:
-

+

blendReset()

@@ -4832,7 +4868,7 @@

Source:
- src/gameobjects/BitmapData.js line 2071 + src/gameobjects/BitmapData.js line 2077 @@ -4885,7 +4921,7 @@
Returns:
-

+

blendSaturation()

@@ -4940,7 +4976,7 @@

Source:
- src/gameobjects/BitmapData.js line 2370 + src/gameobjects/BitmapData.js line 2376 @@ -4993,7 +5029,7 @@
Returns:
-

+

blendScreen()

@@ -5048,7 +5084,7 @@

Source:
- src/gameobjects/BitmapData.js line 2227 + src/gameobjects/BitmapData.js line 2233 @@ -5101,7 +5137,7 @@
Returns:
-

+

blendSoftLight()

@@ -5156,7 +5192,7 @@

Source:
- src/gameobjects/BitmapData.js line 2318 + src/gameobjects/BitmapData.js line 2324 @@ -5209,7 +5245,7 @@
Returns:
-

+

blendSourceAtop()

@@ -5264,7 +5300,7 @@

Source:
- src/gameobjects/BitmapData.js line 2123 + src/gameobjects/BitmapData.js line 2129 @@ -5317,7 +5353,7 @@
Returns:
-

+

blendSourceIn()

@@ -5372,7 +5408,7 @@

Source:
- src/gameobjects/BitmapData.js line 2097 + src/gameobjects/BitmapData.js line 2103 @@ -5425,7 +5461,7 @@
Returns:
-

+

blendSourceOut()

@@ -5480,7 +5516,7 @@

Source:
- src/gameobjects/BitmapData.js line 2110 + src/gameobjects/BitmapData.js line 2116 @@ -5533,7 +5569,7 @@
Returns:
-

+

blendSourceOver()

@@ -5588,7 +5624,7 @@

Source:
- src/gameobjects/BitmapData.js line 2084 + src/gameobjects/BitmapData.js line 2090 @@ -5641,7 +5677,7 @@
Returns:
-

+

blendXor()

@@ -5696,7 +5732,7 @@

Source:
- src/gameobjects/BitmapData.js line 2188 + src/gameobjects/BitmapData.js line 2194 @@ -5749,7 +5785,7 @@
Returns:
-

+

circle(x, y, radius [, fillStyle])

@@ -5962,7 +5998,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1923 + src/gameobjects/BitmapData.js line 1929 @@ -6015,7 +6051,7 @@
Returns:
-

+

clear( [x] [, y] [, width] [, height])

@@ -6260,7 +6296,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 463 + src/gameobjects/BitmapData.js line 463 @@ -6313,7 +6349,7 @@
Returns:
-

+

cls()

@@ -6368,7 +6404,7 @@

Source:
- src/gameobjects/BitmapData.js line 457 + src/gameobjects/BitmapData.js line 457 @@ -6397,7 +6433,7 @@

-

+

copy( [source] [, x] [, y] [, width] [, height] [, tx] [, ty] [, newWidth] [, newHeight] [, rotate] [, anchorX] [, anchorY] [, scaleX] [, scaleY] [, alpha] [, blendMode] [, roundPx])

@@ -7176,7 +7212,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1237 + src/gameobjects/BitmapData.js line 1243 @@ -7229,7 +7265,7 @@
Returns:
-

+

copyBitmapData( [source] [, x] [, y])

@@ -7417,7 +7453,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2409 + src/gameobjects/BitmapData.js line 2415 @@ -7470,7 +7506,7 @@
Returns:
-

+

copyRect(source, area, x, y [, alpha] [, blendMode] [, roundPx])

@@ -7837,7 +7873,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1566 + src/gameobjects/BitmapData.js line 1572 @@ -7890,7 +7926,7 @@
Returns:
-

+

copyTransform( [source] [, blendMode] [, roundPx])

@@ -8108,7 +8144,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1458 + src/gameobjects/BitmapData.js line 1464 @@ -8161,7 +8197,7 @@
Returns:
-

+

destroy()

@@ -8216,7 +8252,7 @@

Source:
- src/gameobjects/BitmapData.js line 2056 + src/gameobjects/BitmapData.js line 2062 @@ -8245,7 +8281,7 @@

-

+

draw(source [, x] [, y] [, width] [, height] [, blendMode] [, roundPx])

@@ -8617,7 +8653,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1585 + src/gameobjects/BitmapData.js line 1591 @@ -8670,7 +8706,7 @@
Returns:
-

+

drawFull(parent [, blendMode] [, roundPx])

@@ -8895,7 +8931,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1680 + src/gameobjects/BitmapData.js line 1686 @@ -8948,7 +8984,7 @@
Returns:
-

+

drawGroup(group [, blendMode] [, roundPx])

@@ -9156,7 +9192,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1613 + src/gameobjects/BitmapData.js line 1619 @@ -9209,7 +9245,7 @@
Returns:
-

+

extract(destination, r, g, b [, a] [, resize] [, r2] [, g2] [, b2])

@@ -9639,7 +9675,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1804 + src/gameobjects/BitmapData.js line 1810 @@ -9692,7 +9728,7 @@
Returns:
-

+

fill(r, g, b [, a])

@@ -9925,7 +9961,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 494 + src/gameobjects/BitmapData.js line 494 @@ -9978,7 +10014,7 @@
Returns:
-

+

generateTexture(key [, callback] [, callbackContext])

@@ -9988,18 +10024,15 @@

-

Creates a new Image element by converting this BitmapDatas canvas into a dataURL.

-

The image is then stored in the image Cache using the key given.

-

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

+

Creates a new Image element by converting this BitmapDatas canvas into a dataURL.

+

The image is then stored in the image Cache using the key given.

+

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:

-
bitmapdata.generateTexture('ball', function (texture) {
+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:

+
bitmapdata.generateTexture('ball', function (texture) {
     game.add.sprite(0, 0, texture);
     // or
     game.add.sprite(0, 0, 'ball');
@@ -10176,7 +10209,7 @@ 
Parameters:
Source:
- src/gameobjects/BitmapData.js line 516 + src/gameobjects/BitmapData.js line 516 @@ -10232,7 +10265,7 @@
Returns:
-

+

getBounds( [rect])

@@ -10350,7 +10383,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1183 + src/gameobjects/BitmapData.js line 1189 @@ -10403,7 +10436,7 @@
Returns:
-

+

getFirstPixel( [direction])

@@ -10534,7 +10567,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1100 + src/gameobjects/BitmapData.js line 1106 @@ -10587,7 +10620,7 @@
Returns:
-

+

getPixel(x, y [, out])

@@ -10770,7 +10803,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1017 + src/gameobjects/BitmapData.js line 1023 @@ -10823,7 +10856,7 @@
Returns:
-

+

getPixel32(x, y)

@@ -10955,7 +10988,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1048 + src/gameobjects/BitmapData.js line 1054 @@ -11008,7 +11041,7 @@
Returns:
-

+

getPixelRGB(x, y [, out] [, hsl] [, hsv])

@@ -11285,7 +11318,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1068 + src/gameobjects/BitmapData.js line 1074 @@ -11338,7 +11371,7 @@
Returns:
-

+

getPixels(rect)

@@ -11443,7 +11476,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1087 + src/gameobjects/BitmapData.js line 1093 @@ -11496,7 +11529,7 @@
Returns:
-

+

line(x1, y1, x2, y2 [, color] [, width])

@@ -11805,7 +11838,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1952 + src/gameobjects/BitmapData.js line 1958 @@ -11858,7 +11891,7 @@
Returns:
-

+

load(source)

@@ -11984,7 +12017,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 422 + src/gameobjects/BitmapData.js line 422 @@ -12037,7 +12070,7 @@
Returns:
-

+

move(x, y [, wrap])

@@ -12235,7 +12268,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 240 + src/gameobjects/BitmapData.js line 240 @@ -12288,7 +12321,7 @@
Returns:
-

+

moveH(distance [, wrap])

@@ -12450,7 +12483,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 267 + src/gameobjects/BitmapData.js line 267 @@ -12503,7 +12536,7 @@
Returns:
-

+

moveV(distance [, wrap])

@@ -12665,7 +12698,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 330 + src/gameobjects/BitmapData.js line 330 @@ -12718,7 +12751,7 @@
Returns:
-

+

processPixel(callback, callbackContext [, x] [, y] [, width] [, height])

@@ -13035,7 +13068,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 732 + src/gameobjects/BitmapData.js line 738 @@ -13088,7 +13121,7 @@
Returns:
-

+

processPixelRGB(callback, callbackContext [, x] [, y] [, width] [, height])

@@ -13408,7 +13441,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 674 + src/gameobjects/BitmapData.js line 680 @@ -13461,7 +13494,7 @@
Returns:
-

+

rect(x, y, width, height [, fillStyle])

@@ -13706,7 +13739,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1857 + src/gameobjects/BitmapData.js line 1863 @@ -13759,7 +13792,7 @@
Returns:
-

+

render()

@@ -13816,7 +13849,7 @@

Source:
- src/gameobjects/BitmapData.js line 2036 + src/gameobjects/BitmapData.js line 2042 @@ -13869,7 +13902,7 @@
Returns:
-

+

replaceRGB(r1, g1, b1, a1, r2, g2, b2, a2 [, region])

@@ -14243,7 +14276,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 786 + src/gameobjects/BitmapData.js line 792 @@ -14296,7 +14329,7 @@
Returns:
-

+

resize(width, height)

@@ -14425,7 +14458,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 584 + src/gameobjects/BitmapData.js line 590 @@ -14478,7 +14511,7 @@
Returns:
-

+

setHSL( [h] [, s] [, l] [, region])

@@ -14721,7 +14754,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 836 + src/gameobjects/BitmapData.js line 842 @@ -14774,7 +14807,7 @@
Returns:
-

+

setPixel(x, y, red, green, blue [, immediate])

@@ -15079,7 +15112,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 999 + src/gameobjects/BitmapData.js line 1005 @@ -15132,7 +15165,7 @@
Returns:
-

+

setPixel32(x, y, red, green, blue, alpha [, immediate])

@@ -15473,7 +15506,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 960 + src/gameobjects/BitmapData.js line 966 @@ -15526,7 +15559,7 @@
Returns:
-

+

shadow(color [, blur] [, x] [, y])

@@ -15769,7 +15802,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1738 + src/gameobjects/BitmapData.js line 1744 @@ -15822,7 +15855,7 @@
Returns:
-

+

shiftHSL( [h] [, s] [, l] [, region])

@@ -16067,7 +16100,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 897 + src/gameobjects/BitmapData.js line 903 @@ -16120,7 +16153,7 @@
Returns:
-

+

text(text, x, y [, font] [, color] [, shadow])

@@ -16435,7 +16468,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1881 + src/gameobjects/BitmapData.js line 1887 @@ -16488,7 +16521,7 @@
Returns:
-

+

textureLine(line, image [, repeat])

@@ -16688,7 +16721,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1986 + src/gameobjects/BitmapData.js line 1992 @@ -16741,7 +16774,7 @@
Returns:
-

+

update( [x] [, y] [, width] [, height])

@@ -16989,7 +17022,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 628 + src/gameobjects/BitmapData.js line 634 @@ -17056,9 +17089,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -17075,9 +17108,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -17089,7 +17122,7 @@
Returns:
- +

@@ -17104,7 +17137,7 @@
Returns:
- + diff --git a/docs/Phaser.BitmapText.html b/docs/Phaser.BitmapText.html index c702a2c4d..2df806854 100644 --- a/docs/Phaser.BitmapText.html +++ b/docs/Phaser.BitmapText.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapText - + @@ -125,7 +125,7 @@

-

+

new BitmapText(game, x, y, font [, text] [, size] [, align])

@@ -489,7 +489,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 54 + src/gameobjects/BitmapText.js line 54 @@ -566,9 +566,11 @@

Members

-
-

align :string

- +
+

+ align : string + +

@@ -625,7 +627,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 536 + src/gameobjects/BitmapText.js line 536 @@ -641,9 +643,11 @@
Type:
-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -720,7 +724,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -736,9 +740,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -814,7 +820,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -830,9 +836,11 @@
Type:
-
-

anchor :Phaser.Point

- +
+

+ anchor : Phaser.Point + +

@@ -889,7 +897,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 92 + src/gameobjects/BitmapText.js line 92 @@ -905,9 +913,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -978,7 +988,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -994,9 +1004,11 @@
Type:
-
-

animations :Phaser.AnimationManager

- +
+

+ animations : Phaser.AnimationManager + +

@@ -1063,7 +1075,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1086,9 +1098,11 @@
Type:
-
-

autoCull :boolean

- +
+

+ autoCull : boolean + +

@@ -1158,7 +1172,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1174,9 +1188,11 @@
Type:
-
-

body :Phaser.Physics.Arcade.Body|Phaser.Physics.P2.Body|Phaser.Physics.Ninja.Body|null

- +
+

+ body : Phaser.Physics.Arcade.Body | Phaser.Physics.P2.Body | Phaser.Physics.Ninja.Body | null + +

@@ -1259,7 +1275,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1275,9 +1291,11 @@
Type:
-
-

bottom :number

- +
+

+ bottom : number + +

@@ -1344,7 +1362,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1360,9 +1378,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -1435,7 +1455,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1451,9 +1471,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -1520,7 +1542,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1536,9 +1558,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -1605,7 +1629,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1621,9 +1645,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -1690,7 +1716,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1706,9 +1732,11 @@
Type:
-
-

checkWorldBounds :boolean

- +
+

+ checkWorldBounds : boolean + +

@@ -1780,7 +1808,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1796,9 +1824,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1864,7 +1894,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1880,9 +1910,11 @@
Type:
-
-

<protected> components :object

- +
+

+ <protected> components : object + +

@@ -1948,7 +1980,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1964,9 +1996,11 @@
Type:
-
-

data :Object

- +
+

+ data : Object + +

@@ -2042,7 +2076,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2058,9 +2092,11 @@
Type:
-
-

debug :boolean

- +
+

+ debug : boolean + +

@@ -2126,7 +2162,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2142,9 +2178,11 @@
Type:
-
-

<readonly> destroyPhase :boolean

- +
+

+ <readonly> destroyPhase : boolean + +

@@ -2211,7 +2249,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2227,9 +2265,11 @@
Type:
-
-

dirty :boolean

- +
+

+ dirty : boolean + +

@@ -2286,7 +2326,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 153 + src/gameobjects/BitmapText.js line 153 @@ -2302,9 +2342,11 @@
Type:
-
-

events :Phaser.Events

- +
+

+ events : Phaser.Events + +

@@ -2371,7 +2413,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2394,9 +2436,11 @@
Type:
-
-

exists :boolean

- +
+

+ exists : boolean + +

@@ -2467,7 +2511,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2483,9 +2527,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -2551,7 +2597,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2567,9 +2613,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -2640,7 +2688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2656,9 +2704,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -2731,7 +2781,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2747,9 +2797,11 @@
Type:
-
-

font :string

- +
+

+ font : string + +

@@ -2806,7 +2858,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 580 + src/gameobjects/BitmapText.js line 580 @@ -2822,9 +2874,11 @@
Type:
-
-

fontSize :number

- +
+

+ fontSize : number + +

@@ -2881,7 +2935,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 603 + src/gameobjects/BitmapText.js line 603 @@ -2897,9 +2951,11 @@
Type:
-
-

<readonly> fresh :boolean

- +
+

+ <readonly> fresh : boolean + +

@@ -2966,7 +3022,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2982,9 +3038,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -3050,7 +3108,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3066,9 +3124,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -3144,7 +3204,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3160,9 +3220,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -3230,7 +3292,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3246,9 +3308,11 @@
Type:
-
-

<readonly> inCamera :boolean

- +
+

+ <readonly> inCamera : boolean + +

@@ -3315,7 +3379,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3331,9 +3395,11 @@
Type:
-
-

input :Phaser.InputHandler|null

- +
+

+ input : Phaser.InputHandler | null + +

@@ -3404,7 +3470,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3420,9 +3486,11 @@
Type:
-
-

inputEnabled :boolean

- +
+

+ inputEnabled : boolean + +

@@ -3495,7 +3563,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3511,9 +3579,11 @@
Type:
-
-

<readonly> inWorld :boolean

- +
+

+ <readonly> inWorld : boolean + +

@@ -3579,7 +3649,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -3595,9 +3665,11 @@
Type:
-
-

key :string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture

- +
+

+ key : string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture + +

@@ -3679,7 +3751,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3695,9 +3767,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -3764,7 +3838,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3780,9 +3854,11 @@
Type:
-
-

lifespan :number

- +
+

+ lifespan : number + +

@@ -3852,7 +3928,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -3868,9 +3944,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -3939,7 +4017,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3955,9 +4033,11 @@
Type:
-
-

maxWidth :number

- +
+

+ maxWidth : number + +

@@ -4018,7 +4098,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 649 + src/gameobjects/BitmapText.js line 649 @@ -4034,9 +4114,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -4103,7 +4185,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4119,9 +4201,11 @@
Type:
-
-

<readonly> offsetX :number

- +
+

+ <readonly> offsetX : number + +

@@ -4189,7 +4273,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4205,9 +4289,11 @@
Type:
-
-

<readonly> offsetY :number

- +
+

+ <readonly> offsetY : number + +

@@ -4275,7 +4361,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4291,9 +4377,11 @@
Type:
-
-

outOfBoundsKill :boolean

- +
+

+ outOfBoundsKill : boolean + +

@@ -4359,7 +4447,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4375,9 +4463,11 @@
Type:
-
-

outOfCameraBoundsKill :boolean

- +
+

+ outOfCameraBoundsKill : boolean + +

@@ -4444,7 +4534,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4460,9 +4550,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -4531,7 +4623,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4547,9 +4639,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -4618,7 +4712,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4634,9 +4728,11 @@
Type:
-
-

<readonly> physicsType :number

- +
+

+ <readonly> physicsType : number + +

@@ -4693,7 +4789,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 75 + src/gameobjects/BitmapText.js line 75 @@ -4709,9 +4805,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -4778,7 +4876,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4794,9 +4892,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -4864,7 +4964,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4880,9 +4980,11 @@
Type:
-
-

<readonly> previousPosition :Phaser.Point

- +
+

+ <readonly> previousPosition : Phaser.Point + +

@@ -4948,7 +5050,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4964,9 +5066,11 @@
Type:
-
-

<readonly> previousRotation :number

- +
+

+ <readonly> previousRotation : number + +

@@ -5032,7 +5136,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5048,9 +5152,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -5117,7 +5223,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5133,9 +5239,11 @@
Type:
-
-

<readonly> renderOrderID :number

- +
+

+ <readonly> renderOrderID : number + +

@@ -5202,7 +5310,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5218,9 +5326,11 @@
Type:
-
+
@@ -5287,7 +5397,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5303,9 +5413,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -5374,7 +5486,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5390,9 +5502,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -5461,7 +5575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5477,9 +5591,11 @@
Type:
-
-

smoothed :boolean

- +
+

+ smoothed : boolean + +

@@ -5538,7 +5654,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 682 + src/gameobjects/BitmapText.js line 682 @@ -5554,9 +5670,11 @@
Type:
-
-

text :string

- +
+

+ text : string + +

@@ -5613,7 +5731,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 627 + src/gameobjects/BitmapText.js line 627 @@ -5629,9 +5747,11 @@
Type:
-
-

<readonly> textHeight :number

- +
+

+ <readonly> textHeight : number + +

@@ -5688,7 +5808,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 87 + src/gameobjects/BitmapText.js line 87 @@ -5704,9 +5824,11 @@
Type:
-
-

<readonly> textWidth :number

- +
+

+ <readonly> textWidth : number + +

@@ -5763,7 +5885,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 81 + src/gameobjects/BitmapText.js line 81 @@ -5779,9 +5901,11 @@
Type:
-
-

tint :number

- +
+

+ tint : number + +

@@ -5838,7 +5962,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 558 + src/gameobjects/BitmapText.js line 558 @@ -5854,9 +5978,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -5923,7 +6049,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5939,9 +6065,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -5998,7 +6126,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 69 + src/gameobjects/BitmapText.js line 69 @@ -6014,9 +6142,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -6094,7 +6224,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -6110,9 +6240,11 @@
Type:
-
-

world :Phaser.Point

- +
+

+ world : Phaser.Point + +

@@ -6180,7 +6312,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6196,9 +6328,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -6270,7 +6404,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6286,9 +6420,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -6359,7 +6495,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6375,9 +6511,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -6448,7 +6586,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6464,9 +6602,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -6537,7 +6677,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6553,9 +6693,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -6626,7 +6768,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6642,9 +6784,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -6710,7 +6854,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6726,9 +6870,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -6800,7 +6946,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6816,9 +6962,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -6890,7 +7038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6906,9 +7054,11 @@
Type:
-
-

<readonly> z :number

- +
+

+ <readonly> z : number + +

@@ -6977,7 +7127,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7000,7 +7150,7 @@

Methods

-

+

addChild(child)

@@ -7114,7 +7264,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7167,7 +7317,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -7305,7 +7455,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7358,7 +7508,7 @@
Returns:
-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -7648,7 +7798,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -7701,7 +7851,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -7992,7 +8142,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8045,7 +8195,7 @@
Returns:
-

+

cleanText(text [, replace])

@@ -8208,7 +8358,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 312 + src/gameobjects/BitmapText.js line 312 @@ -8261,7 +8411,7 @@
Returns:
-

+

contains(child)

@@ -8375,7 +8525,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8424,7 +8574,7 @@
Returns:
-

+

destroy()

@@ -8495,7 +8645,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -8524,7 +8674,7 @@

-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -8740,7 +8890,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -8795,7 +8945,7 @@
Returns:
-

+

getBounds( [targetCoordinateSpace])

@@ -8924,7 +9074,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -8977,7 +9127,7 @@
Returns:
-

+

getChildAt(index)

@@ -9091,7 +9241,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9144,7 +9294,7 @@
Returns:
-

+

getChildIndex(child)

@@ -9258,7 +9408,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9311,7 +9461,7 @@
Returns:
-

+

getLocalBounds()

@@ -9375,7 +9525,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -9428,7 +9578,7 @@
Returns:
-

+

kill()

@@ -9496,7 +9646,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -9549,7 +9699,7 @@
Returns:
-

+

postUpdate()

@@ -9609,7 +9759,7 @@

Source:
- src/gameobjects/BitmapText.js line 198 + src/gameobjects/BitmapText.js line 198 @@ -9638,7 +9788,7 @@

-

+

preUpdate()

@@ -9698,7 +9848,7 @@

Source:
- src/gameobjects/BitmapText.js line 187 + src/gameobjects/BitmapText.js line 187 @@ -9751,7 +9901,7 @@
Returns:
-

+

<protected> preUpdateChildren()

@@ -9815,7 +9965,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -9844,7 +9994,7 @@

-

+

purgeGlyphs()

@@ -9904,7 +10054,7 @@

Source:
- src/gameobjects/BitmapText.js line 478 + src/gameobjects/BitmapText.js line 478 @@ -9957,7 +10107,7 @@
Returns:
-

+

removeChild(child)

@@ -10071,7 +10221,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -10124,7 +10274,7 @@
Returns:
-

+

removeChildAt(index)

@@ -10238,7 +10388,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -10291,7 +10441,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -10429,7 +10579,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -10458,7 +10608,7 @@
Parameters:
-

+

reset(x, y [, health])

@@ -10668,7 +10818,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -10721,7 +10871,7 @@
Returns:
-

+

revive( [health])

@@ -10857,7 +11007,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -10910,7 +11060,7 @@
Returns:
-

+

setChildIndex(child, index)

@@ -11048,7 +11198,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -11077,7 +11227,7 @@
Parameters:
-

+

setText(text)

@@ -11183,7 +11333,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 217 + src/gameobjects/BitmapText.js line 217 @@ -11212,7 +11362,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -11350,7 +11500,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -11379,7 +11529,7 @@
Parameters:
-

+

toGlobal(position)

@@ -11493,7 +11643,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -11548,7 +11698,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -11706,7 +11856,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -11761,7 +11911,7 @@
Returns:
-

+

update()

@@ -11827,7 +11977,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -11856,7 +12006,7 @@

-

+

updateCache()

@@ -11920,7 +12070,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -11989,9 +12139,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -12008,9 +12158,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -12022,7 +12172,7 @@
Returns:
- +
@@ -12037,7 +12187,7 @@
Returns:
- + diff --git a/docs/Phaser.Bullet.html b/docs/Phaser.Bullet.html index c4a20446a..08255beb7 100644 --- a/docs/Phaser.Bullet.html +++ b/docs/Phaser.Bullet.html @@ -6,7 +6,7 @@ Phaser CE Class: Bullet - + @@ -125,7 +125,7 @@

-

+

new Bullet(game, x, y, key, frame)

@@ -339,7 +339,7 @@
Parameters:
Source:
- src/plugins/weapon/Bullet.js line 20 + src/plugins/weapon/Bullet.js line 20 @@ -394,9 +394,11 @@

Members

-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -478,7 +480,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -494,9 +496,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -572,7 +576,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -588,9 +592,11 @@
Type:
-
-

anchor :Point

- +
+

+ anchor : Point + +

@@ -660,7 +666,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -676,9 +682,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -749,7 +757,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -765,9 +773,11 @@
Type:
-
-

animations :Phaser.AnimationManager

- +
+

+ animations : Phaser.AnimationManager + +

@@ -834,7 +844,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -857,9 +867,11 @@
Type:
-
-

autoCull :boolean

- +
+

+ autoCull : boolean + +

@@ -929,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -945,9 +957,11 @@
Type:
-
-

blendMode :Number

- +
+

+ blendMode : Number + +

@@ -1021,7 +1035,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1037,9 +1051,11 @@
Type:
-
-

body :Phaser.Physics.Arcade.Body|Phaser.Physics.P2.Body|Phaser.Physics.Ninja.Body|null

- +
+

+ body : Phaser.Physics.Arcade.Body | Phaser.Physics.P2.Body | Phaser.Physics.Ninja.Body | null + +

@@ -1122,7 +1138,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1138,9 +1154,11 @@
Type:
-
-

bottom :number

- +
+

+ bottom : number + +

@@ -1207,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1223,9 +1241,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -1298,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1314,9 +1334,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -1383,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1399,9 +1421,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -1468,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1484,9 +1508,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -1553,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1569,9 +1595,11 @@
Type:
-
-

checkWorldBounds :boolean

- +
+

+ checkWorldBounds : boolean + +

@@ -1643,7 +1671,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1659,9 +1687,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1727,7 +1757,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1743,9 +1773,11 @@
Type:
-
-

<protected> components :object

- +
+

+ <protected> components : object + +

@@ -1811,7 +1843,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1827,9 +1859,11 @@
Type:
-
-

cropRect :Phaser.Rectangle

- +
+

+ cropRect : Phaser.Rectangle + +

@@ -1897,7 +1931,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1913,9 +1947,11 @@
Type:
-
-

data :Object

- +
+

+ data : Object + +

@@ -1996,7 +2032,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2012,9 +2048,11 @@
Type:
-
-

debug :boolean

- +
+

+ debug : boolean + +

@@ -2080,7 +2118,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2096,9 +2134,11 @@
Type:
-
-

<readonly> deltaX :number

- +
+

+ <readonly> deltaX : number + +

@@ -2165,7 +2205,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2181,9 +2221,11 @@
Type:
-
-

<readonly> deltaY :number

- +
+

+ <readonly> deltaY : number + +

@@ -2250,7 +2292,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2266,9 +2308,11 @@
Type:
-
-

<readonly> deltaZ :number

- +
+

+ <readonly> deltaZ : number + +

@@ -2334,7 +2378,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2350,9 +2394,11 @@
Type:
-
-

<readonly> destroyPhase :boolean

- +
+

+ <readonly> destroyPhase : boolean + +

@@ -2419,7 +2465,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2435,9 +2481,11 @@
Type:
-
-

events :Phaser.Events

- +
+

+ events : Phaser.Events + +

@@ -2504,7 +2552,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2527,9 +2575,11 @@
Type:
-
-

exists :Boolean

- +
+

+ exists : Boolean + +

@@ -2607,7 +2657,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2623,9 +2673,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -2691,7 +2743,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2707,9 +2759,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -2780,7 +2834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2796,9 +2850,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -2871,7 +2927,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2887,9 +2943,11 @@
Type:
-
-

frame :integer

- +
+

+ frame : integer + +

@@ -2960,7 +3018,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -2976,9 +3034,11 @@
Type:
-
-

frameName :string

- +
+

+ frameName : string + +

@@ -3049,7 +3109,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3065,9 +3125,11 @@
Type:
-
-

<readonly> fresh :boolean

- +
+

+ <readonly> fresh : boolean + +

@@ -3134,7 +3196,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3150,9 +3212,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -3218,7 +3282,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3234,9 +3298,11 @@
Type:
-
-

health :number

- +
+

+ health : number + +

@@ -3310,7 +3376,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3326,9 +3392,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -3404,7 +3472,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3420,9 +3488,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -3490,7 +3560,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3506,9 +3576,11 @@
Type:
-
-

<readonly> inCamera :boolean

- +
+

+ <readonly> inCamera : boolean + +

@@ -3575,7 +3647,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3591,9 +3663,11 @@
Type:
-
-

input :Phaser.InputHandler|null

- +
+

+ input : Phaser.InputHandler | null + +

@@ -3664,7 +3738,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3680,9 +3754,11 @@
Type:
-
-

inputEnabled :boolean

- +
+

+ inputEnabled : boolean + +

@@ -3755,7 +3831,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3771,9 +3847,11 @@
Type:
-
-

<readonly> inWorld :boolean

- +
+

+ <readonly> inWorld : boolean + +

@@ -3839,7 +3917,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -3855,9 +3933,11 @@
Type:
-
-

key :string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture

- +
+

+ key : string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture + +

@@ -3939,7 +4019,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3955,9 +4035,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -4024,7 +4106,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4040,9 +4122,11 @@
Type:
-
-

lifespan :number

- +
+

+ lifespan : number + +

@@ -4112,7 +4196,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4128,9 +4212,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -4199,7 +4285,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4215,9 +4301,11 @@
Type:
-
-

maxHealth :number

- +
+

+ maxHealth : number + +

@@ -4291,7 +4379,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4307,9 +4395,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -4376,7 +4466,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4392,9 +4482,11 @@
Type:
-
-

<readonly> offsetX :number

- +
+

+ <readonly> offsetX : number + +

@@ -4462,7 +4554,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4478,9 +4570,11 @@
Type:
-
-

<readonly> offsetY :number

- +
+

+ <readonly> offsetY : number + +

@@ -4548,7 +4642,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4564,9 +4658,11 @@
Type:
-
-

outOfBoundsKill :boolean

- +
+

+ outOfBoundsKill : boolean + +

@@ -4632,7 +4728,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4648,9 +4744,11 @@
Type:
-
-

outOfCameraBoundsKill :boolean

- +
+

+ outOfCameraBoundsKill : boolean + +

@@ -4717,7 +4815,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4733,9 +4831,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -4804,7 +4904,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4820,9 +4920,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -4891,7 +4993,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4907,9 +5009,11 @@
Type:
-
-

<readonly> physicsType :number

- +
+

+ <readonly> physicsType : number + +

@@ -4975,7 +5079,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -4991,9 +5095,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -5060,7 +5166,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5076,9 +5182,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -5146,7 +5254,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5162,9 +5270,11 @@
Type:
-
-

<readonly> previousPosition :Phaser.Point

- +
+

+ <readonly> previousPosition : Phaser.Point + +

@@ -5230,7 +5340,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5246,9 +5356,11 @@
Type:
-
-

<readonly> previousRotation :number

- +
+

+ <readonly> previousRotation : number + +

@@ -5314,7 +5426,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5330,9 +5442,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -5399,7 +5513,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5415,9 +5529,11 @@
Type:
-
-

<readonly> renderOrderID :number

- +
+

+ <readonly> renderOrderID : number + +

@@ -5484,7 +5600,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5500,9 +5616,11 @@
Type:
-
+
@@ -5569,7 +5687,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5585,9 +5703,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -5661,7 +5781,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5677,9 +5797,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -5748,7 +5870,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5764,9 +5886,11 @@
Type:
-
-

scaleMax :Phaser.Point

- +
+

+ scaleMax : Phaser.Point + +

@@ -5834,7 +5958,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5850,9 +5974,11 @@
Type:
-
-

scaleMin :Phaser.Point

- +
+

+ scaleMin : Phaser.Point + +

@@ -5920,7 +6046,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5936,9 +6062,11 @@
Type:
-
-

shader :Phaser.Filter

- +
+

+ shader : Phaser.Filter + +

@@ -6012,7 +6140,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6028,9 +6156,11 @@
Type:
-
-

smoothed :boolean

- +
+

+ smoothed : boolean + +

@@ -6098,7 +6228,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6114,9 +6244,11 @@
Type:
-
-

texture :Texture

- +
+

+ texture : Texture + +

@@ -6182,7 +6314,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6198,9 +6330,11 @@
Type:
-
-

tint :Number

- +
+

+ tint : Number + +

@@ -6273,7 +6407,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6289,9 +6423,11 @@
Type:
-
-

tintedTexture :Canvas

- +
+

+ tintedTexture : Canvas + +

@@ -6364,7 +6500,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6380,9 +6516,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -6449,7 +6587,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6465,9 +6603,11 @@
Type:
-
-

transformCallback :function

- +
+

+ transformCallback : function + +

@@ -6533,7 +6673,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6549,9 +6689,11 @@
Type:
-
-

transformCallbackContext :object

- +
+

+ transformCallbackContext : object + +

@@ -6617,7 +6759,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6633,9 +6775,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -6701,7 +6845,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -6717,9 +6861,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -6802,7 +6948,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -6818,9 +6964,11 @@
Type:
-
-

world :Phaser.Point

- +
+

+ world : Phaser.Point + +

@@ -6888,7 +7036,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6904,9 +7052,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -6978,7 +7128,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6994,9 +7144,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -7067,7 +7219,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7083,9 +7235,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -7156,7 +7310,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7172,9 +7326,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -7245,7 +7401,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7261,9 +7417,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -7334,7 +7492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7350,9 +7508,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -7418,7 +7578,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7434,9 +7594,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -7503,7 +7665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7519,9 +7681,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -7588,7 +7752,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7604,9 +7768,11 @@
Type:
-
-

<readonly> z :number

- +
+

+ <readonly> z : number + +

@@ -7675,7 +7841,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7698,7 +7864,7 @@

Methods

-

+

addChild(child)

@@ -7812,7 +7978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7865,7 +8031,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -8003,7 +8169,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8056,7 +8222,7 @@
Returns:
-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -8346,7 +8512,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8399,7 +8565,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -8690,7 +8856,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8743,7 +8909,7 @@
Returns:
-

+

bringToTop()

@@ -8810,7 +8976,7 @@

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

+

contains(child)

@@ -8977,7 +9143,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9026,7 +9192,7 @@
Returns:
-

+

crop(rect [, copy])

@@ -9203,7 +9369,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9232,7 +9398,7 @@
Parameters:
-

+

damage(amount)

@@ -9347,7 +9513,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9400,7 +9566,7 @@
Returns:
-

+

destroy()

@@ -9466,7 +9632,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -9495,7 +9661,7 @@

-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -9711,7 +9877,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -9766,7 +9932,7 @@
Returns:
-

+

getBounds(matrix)

@@ -9887,7 +10053,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -9940,7 +10106,7 @@
Returns:
-

+

getChildAt(index)

@@ -10054,7 +10220,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10107,7 +10273,7 @@
Returns:
-

+

getChildIndex(child)

@@ -10221,7 +10387,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10274,7 +10440,7 @@
Returns:
-

+

getLocalBounds()

@@ -10338,7 +10504,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10391,7 +10557,7 @@
Returns:
-

+

heal(amount)

@@ -10505,7 +10671,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -10558,7 +10724,7 @@
Returns:
-

+

kill()

@@ -10568,8 +10734,7 @@

-

Kills the Bullet, freeing it up for re-use by the Weapon bullet pool. -Also dispatches the Weapon.onKill signal.

+

Updates the Bullet, killing as required.

@@ -10619,7 +10784,7 @@

Source:
- src/plugins/weapon/Bullet.js line 41 + src/plugins/weapon/Bullet.js line 60 @@ -10648,7 +10813,7 @@

-

+

kill()

@@ -10658,7 +10823,8 @@

-

Updates the Bullet, killing as required.

+

Kills the Bullet, freeing it up for re-use by the Weapon bullet pool. +Also dispatches the Weapon.onKill signal.

@@ -10708,7 +10874,7 @@

Source:
- src/plugins/weapon/Bullet.js line 60 + src/plugins/weapon/Bullet.js line 41 @@ -10737,7 +10903,7 @@

-

+

loadTexture(key [, frame] [, stopAnimation])

@@ -10969,7 +11135,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10998,7 +11164,7 @@
Parameters:
-

+

moveDown()

@@ -11065,7 +11231,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11118,7 +11284,7 @@
Returns:
-

+

moveUp()

@@ -11185,7 +11351,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11238,7 +11404,7 @@
Returns:
-

+

overlap(displayObject)

@@ -11368,7 +11534,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11421,7 +11587,7 @@
Returns:
-

+

play(name [, frameRate] [, loop] [, killOnComplete])

@@ -11674,7 +11840,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -11727,7 +11893,7 @@
Returns:
-

+

<protected> postUpdate()

@@ -11791,7 +11957,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -11820,7 +11986,7 @@

-

+

preUpdate()

@@ -11884,7 +12050,7 @@

Source:
- src/gameobjects/Sprite.js line 107 + src/gameobjects/Sprite.js line 107 @@ -11937,7 +12103,7 @@
Returns:
-

+

<protected> preUpdateChildren()

@@ -12001,7 +12167,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12030,7 +12196,7 @@

-

+

removeChild(child)

@@ -12144,7 +12310,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12197,7 +12363,7 @@
Returns:
-

+

removeChildAt(index)

@@ -12311,7 +12477,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12364,7 +12530,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -12502,7 +12668,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -12531,7 +12697,7 @@
Parameters:
-

+

reset(x, y [, health])

@@ -12741,7 +12907,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -12794,7 +12960,7 @@
Returns:
-

+

resetFrame()

@@ -12858,7 +13024,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -12887,7 +13053,7 @@

-

+

resizeFrame(parent, width, height)

@@ -13051,7 +13217,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13080,7 +13246,7 @@
Parameters:
-

+

revive( [health])

@@ -13216,7 +13382,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -13269,7 +13435,7 @@
Returns:
-

+

sendToBack()

@@ -13336,7 +13502,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13389,7 +13555,7 @@
Returns:
-

+

setChildIndex(child, index)

@@ -13527,7 +13693,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -13556,7 +13722,7 @@
Parameters:
-

+

setFrame(frame)

@@ -13671,7 +13837,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -13700,7 +13866,7 @@
Parameters:
-

+

setHealth(amount)

@@ -13815,7 +13981,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -13868,7 +14034,7 @@
Returns:
-

+

setScaleMinMax(minX, minY, maxX, maxY)

@@ -14076,7 +14242,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -14105,7 +14271,7 @@
Parameters:
-

+

setTexture(texture [, destroy])

@@ -14276,7 +14442,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -14305,7 +14471,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -14443,7 +14609,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14472,7 +14638,7 @@
Parameters:
-

+

toGlobal(position)

@@ -14586,7 +14752,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -14641,7 +14807,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -14799,7 +14965,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -14854,7 +15020,7 @@
Returns:
-

+

update()

@@ -14925,7 +15091,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -14954,7 +15120,7 @@

-

+

updateCache()

@@ -15018,7 +15184,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15073,7 +15239,7 @@
Returns:
-

+

updateCrop()

@@ -15138,7 +15304,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -15167,7 +15333,7 @@

-

+

updateTransform( [parent])

@@ -15301,7 +15467,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15370,9 +15536,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -15389,9 +15555,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -15403,7 +15569,7 @@
Returns:
- +
@@ -15418,7 +15584,7 @@
Returns:
- + diff --git a/docs/Phaser.Button.html b/docs/Phaser.Button.html index 726bf4b0d..f8147af3e 100644 --- a/docs/Phaser.Button.html +++ b/docs/Phaser.Button.html @@ -6,7 +6,7 @@ Phaser CE Class: Button - + @@ -125,7 +125,7 @@

-

+

new Button(game [, x] [, y] [, key] [, callback] [, callbackContext] [, overFrame] [, outFrame] [, downFrame] [, upFrame])

@@ -368,7 +368,7 @@
Parameters:
-

The function to call when this Button is pressed.

+

The function to call when this Button is pressed, receiving this (the Button), pointer, and isOver (see Phaser.Events#onInputUp.)

@@ -613,7 +613,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 35 + src/gameobjects/Button.js line 35 @@ -668,9 +668,11 @@

Members

-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -747,7 +749,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -763,9 +765,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -841,7 +845,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -857,9 +861,11 @@
Type:
-
-

anchor :Point

- +
+

+ anchor : Point + +

@@ -929,7 +935,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -945,9 +951,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -1018,7 +1026,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1034,9 +1042,11 @@
Type:
-
-

animations :Phaser.AnimationManager

- +
+

+ animations : Phaser.AnimationManager + +

@@ -1103,7 +1113,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1126,9 +1136,11 @@
Type:
-
-

autoCull :boolean

- +
+

+ autoCull : boolean + +

@@ -1198,7 +1210,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1214,9 +1226,11 @@
Type:
-
-

blendMode :Number

- +
+

+ blendMode : Number + +

@@ -1290,7 +1304,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1306,9 +1320,11 @@
Type:
-
-

bottom :number

- +
+

+ bottom : number + +

@@ -1375,7 +1391,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1391,9 +1407,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -1466,7 +1484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1482,9 +1500,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -1551,7 +1571,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1567,9 +1587,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -1636,7 +1658,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1652,9 +1674,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -1721,7 +1745,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1737,9 +1761,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1805,7 +1831,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1821,9 +1847,11 @@
Type:
-
-

<protected> components :object

- +
+

+ <protected> components : object + +

@@ -1889,7 +1917,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1905,9 +1933,11 @@
Type:
-
-

cropRect :Phaser.Rectangle

- +
+

+ cropRect : Phaser.Rectangle + +

@@ -1975,7 +2005,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1991,9 +2021,11 @@
Type:
-
-

data :Object

- +
+

+ data : Object + +

@@ -2069,7 +2101,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2085,9 +2117,11 @@
Type:
-
-

debug :boolean

- +
+

+ debug : boolean + +

@@ -2153,7 +2187,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2169,9 +2203,11 @@
Type:
-
-

<readonly> destroyPhase :boolean

- +
+

+ <readonly> destroyPhase : boolean + +

@@ -2238,7 +2274,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2254,9 +2290,11 @@
Type:
-
-

events :Phaser.Events

- +
+

+ events : Phaser.Events + +

@@ -2323,7 +2361,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2346,9 +2384,11 @@
Type:
-
-

exists :Boolean

- +
+

+ exists : Boolean + +

@@ -2421,7 +2461,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2437,9 +2477,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -2505,7 +2547,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2521,9 +2563,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -2594,7 +2638,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2610,9 +2654,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -2685,7 +2731,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2701,9 +2747,11 @@
Type:
-
-

forceOut :boolean|Phaser.PointerMode

- +
+

+ forceOut : boolean | Phaser.PointerMode + +

@@ -2764,7 +2812,7 @@
Type:
Source:
- src/gameobjects/Button.js line 199 + src/gameobjects/Button.js line 199 @@ -2780,9 +2828,11 @@
Type:
-
-

frame :integer

- +
+

+ frame : integer + +

@@ -2858,7 +2908,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -2874,9 +2924,11 @@
Type:
-
-

frameName :string

- +
+

+ frameName : string + +

@@ -2952,7 +3004,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -2968,9 +3020,11 @@
Type:
-
-

freezeFrames :boolean

- +
+

+ freezeFrames : boolean + +

@@ -3027,7 +3081,7 @@
Type:
Source:
- src/gameobjects/Button.js line 189 + src/gameobjects/Button.js line 189 @@ -3043,9 +3097,11 @@
Type:
-
-

<readonly> fresh :boolean

- +
+

+ <readonly> fresh : boolean + +

@@ -3112,7 +3168,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3128,9 +3184,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -3196,7 +3254,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3212,9 +3270,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -3290,7 +3350,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3306,9 +3366,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -3376,7 +3438,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3392,9 +3454,11 @@
Type:
-
-

<readonly> inCamera :boolean

- +
+

+ <readonly> inCamera : boolean + +

@@ -3461,7 +3525,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3477,9 +3541,11 @@
Type:
-
-

input :Phaser.InputHandler|null

- +
+

+ input : Phaser.InputHandler | null + +

@@ -3550,7 +3616,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3566,9 +3632,11 @@
Type:
-
-

inputEnabled :boolean

- +
+

+ inputEnabled : boolean + +

@@ -3646,7 +3714,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3662,9 +3730,11 @@
Type:
-
-

justReleasedPreventsOver :Phaser.PointerMode

- +
+

+ justReleasedPreventsOver : Phaser.PointerMode + +

@@ -3722,7 +3792,7 @@
Type:
Source:
- src/gameobjects/Button.js line 182 + src/gameobjects/Button.js line 182 @@ -3738,9 +3808,11 @@
Type:
-
-

key :string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture

- +
+

+ key : string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture + +

@@ -3822,7 +3894,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3838,9 +3910,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -3907,7 +3981,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3923,9 +3997,11 @@
Type:
-
-

lifespan :number

- +
+

+ lifespan : number + +

@@ -3995,7 +4071,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4011,9 +4087,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -4082,7 +4160,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4098,9 +4176,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -4167,7 +4247,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4183,9 +4263,11 @@
Type:
-
-

<readonly> offsetX :number

- +
+

+ <readonly> offsetX : number + +

@@ -4253,7 +4335,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4269,9 +4351,11 @@
Type:
-
-

<readonly> offsetY :number

- +
+

+ <readonly> offsetY : number + +

@@ -4339,7 +4423,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4355,9 +4439,11 @@
Type:
-
-

<readonly> onDownSound :Phaser.Sound|Phaser.AudioSprite|null

- +
+

+ <readonly> onDownSound : Phaser.Sound | Phaser.AudioSprite | null + +

@@ -4420,7 +4506,7 @@
Type:
Source:
- src/gameobjects/Button.js line 105 + src/gameobjects/Button.js line 105 @@ -4436,9 +4522,11 @@
Type:
-
-

<readonly> onDownSoundMarker :string

- +
+

+ <readonly> onDownSoundMarker : string + +

@@ -4495,7 +4583,7 @@
Type:
Source:
- src/gameobjects/Button.js line 133 + src/gameobjects/Button.js line 133 @@ -4511,9 +4599,11 @@
Type:
-
-

onInputDown :Phaser.Signal

- +
+

+ onInputDown : Phaser.Signal + +

@@ -4570,7 +4660,7 @@
Type:
Source:
- src/gameobjects/Button.js line 158 + src/gameobjects/Button.js line 158 @@ -4586,9 +4676,11 @@
Type:
-
-

onInputOut :Phaser.Signal

- +
+

+ onInputOut : Phaser.Signal + +

@@ -4645,7 +4737,7 @@
Type:
Source:
- src/gameobjects/Button.js line 152 + src/gameobjects/Button.js line 152 @@ -4661,9 +4753,11 @@
Type:
-
-

onInputOver :Phaser.Signal

- +
+

+ onInputOver : Phaser.Signal + +

@@ -4720,7 +4814,7 @@
Type:
Source:
- src/gameobjects/Button.js line 146 + src/gameobjects/Button.js line 146 @@ -4736,9 +4830,11 @@
Type:
-
-

onInputUp :Phaser.Signal

- +
+

+ onInputUp : Phaser.Signal + +

@@ -4795,7 +4891,7 @@
Type:
Source:
- src/gameobjects/Button.js line 164 + src/gameobjects/Button.js line 164 @@ -4811,9 +4907,11 @@
Type:
-
-

<readonly> onOutSound :Phaser.Sound|Phaser.AudioSprite|null

- +
+

+ <readonly> onOutSound : Phaser.Sound | Phaser.AudioSprite | null + +

@@ -4876,7 +4974,7 @@
Type:
Source:
- src/gameobjects/Button.js line 98 + src/gameobjects/Button.js line 98 @@ -4892,9 +4990,11 @@
Type:
-
-

<readonly> onOutSoundMarker :string

- +
+

+ <readonly> onOutSoundMarker : string + +

@@ -4951,7 +5051,7 @@
Type:
Source:
- src/gameobjects/Button.js line 126 + src/gameobjects/Button.js line 126 @@ -4967,9 +5067,11 @@
Type:
-
-

onOverMouseOnly :boolean

- +
+

+ onOverMouseOnly : boolean + +

@@ -5034,7 +5136,7 @@
Type:
Source:
- src/gameobjects/Button.js line 173 + src/gameobjects/Button.js line 173 @@ -5050,9 +5152,11 @@
Type:
-
-

<readonly> onOverSound :Phaser.Sound|Phaser.AudioSprite|null

- +
+

+ <readonly> onOverSound : Phaser.Sound | Phaser.AudioSprite | null + +

@@ -5115,7 +5219,7 @@
Type:
Source:
- src/gameobjects/Button.js line 91 + src/gameobjects/Button.js line 91 @@ -5131,9 +5235,11 @@
Type:
-
-

<readonly> onOverSoundMarker :string

- +
+

+ <readonly> onOverSoundMarker : string + +

@@ -5190,7 +5296,7 @@
Type:
Source:
- src/gameobjects/Button.js line 119 + src/gameobjects/Button.js line 119 @@ -5206,9 +5312,11 @@
Type:
-
-

<readonly> onUpSound :Phaser.Sound|Phaser.AudioSprite|null

- +
+

+ <readonly> onUpSound : Phaser.Sound | Phaser.AudioSprite | null + +

@@ -5271,7 +5379,7 @@
Type:
Source:
- src/gameobjects/Button.js line 112 + src/gameobjects/Button.js line 112 @@ -5287,9 +5395,11 @@
Type:
-
-

<readonly> onUpSoundMarker :string

- +
+

+ <readonly> onUpSoundMarker : string + +

@@ -5346,7 +5456,7 @@
Type:
Source:
- src/gameobjects/Button.js line 140 + src/gameobjects/Button.js line 140 @@ -5362,9 +5472,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -5433,7 +5545,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5449,9 +5561,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -5520,7 +5634,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5536,9 +5650,11 @@
Type:
-
-

<readonly> physicsType :number

- +
+

+ <readonly> physicsType : number + +

@@ -5595,7 +5711,7 @@
Type:
Source:
- src/gameobjects/Button.js line 56 + src/gameobjects/Button.js line 56 @@ -5611,9 +5727,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -5680,7 +5798,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5696,9 +5814,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -5766,7 +5886,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5782,9 +5902,11 @@
Type:
-
-

<readonly> previousPosition :Phaser.Point

- +
+

+ <readonly> previousPosition : Phaser.Point + +

@@ -5850,7 +5972,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5866,9 +5988,11 @@
Type:
-
-

<readonly> previousRotation :number

- +
+

+ <readonly> previousRotation : number + +

@@ -5934,7 +6058,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5950,9 +6074,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -6019,7 +6145,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -6035,9 +6161,11 @@
Type:
-
-

<readonly> renderOrderID :number

- +
+

+ <readonly> renderOrderID : number + +

@@ -6104,7 +6232,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -6120,9 +6248,11 @@
Type:
-
+
@@ -6189,7 +6319,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -6205,9 +6335,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -6276,7 +6408,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6292,9 +6424,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -6363,7 +6497,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6379,9 +6513,11 @@
Type:
-
-

scaleMax :Phaser.Point

- +
+

+ scaleMax : Phaser.Point + +

@@ -6449,7 +6585,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6465,9 +6601,11 @@
Type:
-
-

scaleMin :Phaser.Point

- +
+

+ scaleMin : Phaser.Point + +

@@ -6535,7 +6673,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6551,9 +6689,11 @@
Type:
-
-

shader :Phaser.Filter

- +
+

+ shader : Phaser.Filter + +

@@ -6627,7 +6767,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6643,9 +6783,11 @@
Type:
-
-

smoothed :boolean

- +
+

+ smoothed : boolean + +

@@ -6713,7 +6855,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6729,9 +6871,11 @@
Type:
-
-

texture :Texture

- +
+

+ texture : Texture + +

@@ -6797,7 +6941,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6813,9 +6957,11 @@
Type:
-
-

tint :Number

- +
+

+ tint : Number + +

@@ -6888,7 +7034,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6904,9 +7050,11 @@
Type:
-
-

tintedTexture :Canvas

- +
+

+ tintedTexture : Canvas + +

@@ -6979,7 +7127,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6995,9 +7143,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -7064,7 +7214,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -7080,9 +7230,11 @@
Type:
-
-

transformCallback :function

- +
+

+ transformCallback : function + +

@@ -7148,7 +7300,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7164,9 +7316,11 @@
Type:
-
-

transformCallbackContext :object

- +
+

+ transformCallbackContext : object + +

@@ -7232,7 +7386,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7248,9 +7402,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -7312,7 +7468,7 @@
Type:
Source:
- src/gameobjects/Button.js line 50 + src/gameobjects/Button.js line 50 @@ -7328,9 +7484,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -7408,7 +7566,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7424,9 +7582,11 @@
Type:
-
-

world :Phaser.Point

- +
+

+ world : Phaser.Point + +

@@ -7494,7 +7654,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7510,9 +7670,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -7584,7 +7746,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7600,9 +7762,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -7673,7 +7837,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7689,9 +7853,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -7762,7 +7928,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7778,9 +7944,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -7851,7 +8019,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7867,9 +8035,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -7940,7 +8110,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7956,9 +8126,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -8024,7 +8196,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -8040,9 +8212,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -8109,7 +8283,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -8125,9 +8299,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -8194,7 +8370,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -8210,9 +8386,11 @@
Type:
-
-

<readonly> z :number

- +
+

+ <readonly> z : number + +

@@ -8281,7 +8459,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8304,7 +8482,7 @@

Methods

-

+

addChild(child)

@@ -8418,7 +8596,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8471,7 +8649,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -8609,7 +8787,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8662,7 +8840,7 @@
Returns:
-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -8952,7 +9130,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -9005,7 +9183,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -9296,7 +9474,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9349,7 +9527,7 @@
Returns:
-

+

bringToTop()

@@ -9416,7 +9594,7 @@

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

+

clearFrames()

@@ -9524,7 +9702,7 @@

Source:
- src/gameobjects/Button.js line 233 + src/gameobjects/Button.js line 231 @@ -9553,7 +9731,7 @@

-

+

contains(child)

@@ -9667,7 +9845,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9716,7 +9894,7 @@
Returns:
-

+

crop(rect [, copy])

@@ -9893,7 +10071,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9922,7 +10100,7 @@
Parameters:
-

+

destroy()

@@ -9988,7 +10166,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -10017,7 +10195,7 @@

-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -10233,7 +10411,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10288,7 +10466,7 @@
Returns:
-

+

getBounds(matrix)

@@ -10409,7 +10587,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10462,7 +10640,7 @@
Returns:
-

+

getChildAt(index)

@@ -10576,7 +10754,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10629,7 +10807,7 @@
Returns:
-

+

getChildIndex(child)

@@ -10743,7 +10921,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10796,7 +10974,7 @@
Returns:
-

+

getLocalBounds()

@@ -10860,7 +11038,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10913,7 +11091,7 @@
Returns:
-

+

kill()

@@ -10981,7 +11159,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -11034,7 +11212,7 @@
Returns:
-

+

loadTexture(key [, frame] [, stopAnimation])

@@ -11266,7 +11444,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11295,7 +11473,7 @@
Parameters:
-

+

moveDown()

@@ -11362,7 +11540,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11415,7 +11593,7 @@
Returns:
-

+

moveUp()

@@ -11482,7 +11660,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11535,7 +11713,7 @@
Returns:
-

+

<protected> onInputDownHandler(sprite, pointer)

@@ -11664,7 +11842,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 531 + src/gameobjects/Button.js line 517 @@ -11693,7 +11871,7 @@
Parameters:
-

+

<protected> onInputOutHandler(sprite, pointer)

@@ -11822,7 +12000,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 511 + src/gameobjects/Button.js line 497 @@ -11851,7 +12029,7 @@
Parameters:
-

+

<protected> onInputOverHandler(sprite, pointer)

@@ -11980,7 +12158,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 478 + src/gameobjects/Button.js line 464 @@ -12009,7 +12187,7 @@
Parameters:
-

+

<protected> onInputUpHandler(sprite, pointer)

@@ -12138,7 +12316,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 551 + src/gameobjects/Button.js line 537 @@ -12167,7 +12345,7 @@
Parameters:
-

+

overlap(displayObject)

@@ -12297,7 +12475,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12350,7 +12528,7 @@
Returns:
-

+

play(name [, frameRate] [, loop] [, killOnComplete])

@@ -12603,7 +12781,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12656,7 +12834,7 @@
Returns:
-

+

<protected> postUpdate()

@@ -12720,7 +12898,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12749,7 +12927,7 @@

-

+

preUpdate()

@@ -12813,7 +12991,7 @@

Source:
- src/gameobjects/Image.js line 81 + src/gameobjects/Image.js line 81 @@ -12842,7 +13020,7 @@

-

+

<protected> preUpdateChildren()

@@ -12906,7 +13084,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12935,7 +13113,7 @@

-

+

removeChild(child)

@@ -13049,7 +13227,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -13102,7 +13280,7 @@
Returns:
-

+

removeChildAt(index)

@@ -13216,7 +13394,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -13269,7 +13447,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -13407,91 +13585,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 - - - - - - - -

- - - - - - - - - - - - - - - -
- - - -
-

- <protected> removedFromWorld() - -

- -
-
- - -
-

Called when this Button is removed from the World.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - src/gameobjects/Button.js line 244 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13520,7 +13614,7 @@

-

+

reset(x, y [, health])

@@ -13730,7 +13824,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13783,7 +13877,7 @@
Returns:
-

+

resetFrame()

@@ -13847,7 +13941,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13876,7 +13970,7 @@

-

+

resizeFrame(parent, width, height)

@@ -14040,7 +14134,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -14069,7 +14163,7 @@
Parameters:
-

+

revive( [health])

@@ -14205,7 +14299,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -14258,7 +14352,7 @@
Returns:
-

+

sendToBack()

@@ -14325,7 +14419,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -14378,7 +14472,7 @@
Returns:
-

+

setChildIndex(child, index)

@@ -14516,7 +14610,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14545,7 +14639,7 @@
Parameters:
-

+

setDownSound(sound [, marker])

@@ -14697,7 +14791,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 450 + src/gameobjects/Button.js line 436 @@ -14726,7 +14820,7 @@
Parameters:
-

+

setFrame(frame)

@@ -14841,7 +14935,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -14870,7 +14964,7 @@
Parameters:
-

+

setFrames( [overFrame] [, outFrame] [, downFrame] [, upFrame])

@@ -15102,7 +15196,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 320 + src/gameobjects/Button.js line 306 @@ -15131,7 +15225,7 @@
Parameters:
-

+

setOutSound(sound [, marker])

@@ -15283,7 +15377,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 436 + src/gameobjects/Button.js line 422 @@ -15312,7 +15406,7 @@
Parameters:
-

+

setOverSound(sound [, marker])

@@ -15464,7 +15558,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 422 + src/gameobjects/Button.js line 408 @@ -15493,7 +15587,7 @@
Parameters:
-

+

setScaleMinMax(minX, minY, maxX, maxY)

@@ -15701,7 +15795,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -15730,7 +15824,7 @@
Parameters:
-

+

setSounds( [overSound] [, overMarker] [, downSound] [, downMarker] [, outSound] [, outMarker] [, upSound] [, upMarker])

@@ -16099,7 +16193,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 396 + src/gameobjects/Button.js line 382 @@ -16128,7 +16222,7 @@
Parameters:
-

+

setTexture(texture [, destroy])

@@ -16299,7 +16393,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -16328,7 +16422,7 @@
Parameters:
-

+

setUpSound(sound [, marker])

@@ -16480,7 +16574,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 464 + src/gameobjects/Button.js line 450 @@ -16509,7 +16603,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -16647,7 +16741,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -16676,7 +16770,7 @@
Parameters:
-

+

toGlobal(position)

@@ -16790,7 +16884,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -16845,7 +16939,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -17003,7 +17097,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -17058,7 +17152,7 @@
Returns:
-

+

update()

@@ -17124,7 +17218,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -17153,7 +17247,7 @@

-

+

updateCache()

@@ -17217,7 +17311,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -17272,7 +17366,7 @@
Returns:
-

+

updateCrop()

@@ -17337,7 +17431,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -17366,7 +17460,7 @@

-

+

updateTransform( [parent])

@@ -17500,7 +17594,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -17569,9 +17663,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -17588,9 +17682,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -17602,7 +17696,7 @@
Returns:
- +
@@ -17617,7 +17711,7 @@
Returns:
- + diff --git a/docs/Phaser.Cache.html b/docs/Phaser.Cache.html index 1df91eb9d..27a71d4db 100644 --- a/docs/Phaser.Cache.html +++ b/docs/Phaser.Cache.html @@ -6,7 +6,7 @@ Phaser CE Class: Cache - + @@ -125,7 +125,7 @@

-

+

new Cache(game)

@@ -245,7 +245,7 @@
Parameters:
Source:
- src/loader/Cache.js line 34 + src/loader/Cache.js line 34 @@ -289,9 +289,11 @@

Members

-
-

<static, constant> BINARY :number

- +
+

+ <static, constant> BINARY : number + +

@@ -344,7 +346,7 @@
Type:
Source:
- src/loader/Cache.js line 179 + src/loader/Cache.js line 179 @@ -360,9 +362,11 @@
Type:
-
-

<static, constant> BITMAPDATA :number

- +
+

+ <static, constant> BITMAPDATA : number + +

@@ -415,7 +419,7 @@
Type:
Source:
- src/loader/Cache.js line 185 + src/loader/Cache.js line 185 @@ -431,9 +435,11 @@
Type:
-
-

<static, constant> BITMAPFONT :number

- +
+

+ <static, constant> BITMAPFONT : number + +

@@ -486,7 +492,7 @@
Type:
Source:
- src/loader/Cache.js line 191 + src/loader/Cache.js line 191 @@ -502,9 +508,11 @@
Type:
-
-

<static, constant> CANVAS :number

- +
+

+ <static, constant> CANVAS : number + +

@@ -557,7 +565,7 @@
Type:
Source:
- src/loader/Cache.js line 137 + src/loader/Cache.js line 137 @@ -573,9 +581,11 @@
Type:
-
-

<static, constant> DEFAULT :PIXI.Texture

- +
+

+ <static, constant> DEFAULT : PIXI.Texture + +

@@ -632,7 +642,7 @@
Type:
Source:
- src/loader/Cache.js line 228 + src/loader/Cache.js line 228 @@ -648,9 +658,11 @@
Type:
-
-

<static, constant> DEFAULT_KEY :string

- +
+

+ <static, constant> DEFAULT_KEY : string + +

@@ -707,7 +719,7 @@
Type:
Source:
- src/loader/Cache.js line 235 + src/loader/Cache.js line 235 @@ -723,9 +735,11 @@
Type:
-
-

<static, constant> DEFAULT_SRC :string

- +
+

+ <static, constant> DEFAULT_SRC : string + +

@@ -782,7 +796,7 @@
Type:
Source:
- src/loader/Cache.js line 242 + src/loader/Cache.js line 242 @@ -798,9 +812,11 @@
Type:
-
-

<static, constant> IMAGE :number

- +
+

+ <static, constant> IMAGE : number + +

@@ -853,7 +869,7 @@
Type:
Source:
- src/loader/Cache.js line 143 + src/loader/Cache.js line 143 @@ -869,9 +885,11 @@
Type:
-
-

<static, constant> JSON :number

- +
+

+ <static, constant> JSON : number + +

@@ -924,7 +942,7 @@
Type:
Source:
- src/loader/Cache.js line 197 + src/loader/Cache.js line 197 @@ -940,9 +958,11 @@
Type:
-
-

<static, constant> MISSING :PIXI.Texture

- +
+

+ <static, constant> MISSING : PIXI.Texture + +

@@ -999,7 +1019,7 @@
Type:
Source:
- src/loader/Cache.js line 249 + src/loader/Cache.js line 249 @@ -1015,9 +1035,11 @@
Type:
-
-

<static, constant> MISSING_KEY :string

- +
+

+ <static, constant> MISSING_KEY : string + +

@@ -1074,7 +1096,7 @@
Type:
Source:
- src/loader/Cache.js line 256 + src/loader/Cache.js line 256 @@ -1090,9 +1112,11 @@
Type:
-
-

<static, constant> MISSING_SRC :string

- +
+

+ <static, constant> MISSING_SRC : string + +

@@ -1149,7 +1173,7 @@
Type:
Source:
- src/loader/Cache.js line 263 + src/loader/Cache.js line 263 @@ -1165,9 +1189,11 @@
Type:
-
-

<static, constant> PHYSICS :number

- +
+

+ <static, constant> PHYSICS : number + +

@@ -1220,7 +1246,7 @@
Type:
Source:
- src/loader/Cache.js line 167 + src/loader/Cache.js line 167 @@ -1236,9 +1262,11 @@
Type:
-
-

<static> READY_TIMEOUT :number

- +
+

+ <static> READY_TIMEOUT : number + +

@@ -1302,7 +1330,7 @@
Type:
Source:
- src/loader/Cache.js line 271 + src/loader/Cache.js line 271 @@ -1318,9 +1346,11 @@
Type:
-
-

<static, constant> RENDER_TEXTURE :number

- +
+

+ <static, constant> RENDER_TEXTURE : number + +

@@ -1373,7 +1403,7 @@
Type:
Source:
- src/loader/Cache.js line 221 + src/loader/Cache.js line 221 @@ -1389,9 +1419,11 @@
Type:
-
-

<static, constant> SHADER :number

- +
+

+ <static, constant> SHADER : number + +

@@ -1444,7 +1476,7 @@
Type:
Source:
- src/loader/Cache.js line 215 + src/loader/Cache.js line 215 @@ -1460,9 +1492,11 @@
Type:
-
-

<static, constant> SOUND :number

- +
+

+ <static, constant> SOUND : number + +

@@ -1515,7 +1549,7 @@
Type:
Source:
- src/loader/Cache.js line 155 + src/loader/Cache.js line 155 @@ -1531,9 +1565,11 @@
Type:
-
-

<static, constant> TEXT :number

- +
+

+ <static, constant> TEXT : number + +

@@ -1586,7 +1622,7 @@
Type:
Source:
- src/loader/Cache.js line 161 + src/loader/Cache.js line 161 @@ -1602,9 +1638,11 @@
Type:
-
-

<static, constant> TEXTURE :number

- +
+

+ <static, constant> TEXTURE : number + +

@@ -1657,7 +1695,7 @@
Type:
Source:
- src/loader/Cache.js line 149 + src/loader/Cache.js line 149 @@ -1673,9 +1711,11 @@
Type:
-
-

<static, constant> TILEMAP :number

- +
+

+ <static, constant> TILEMAP : number + +

@@ -1728,7 +1768,7 @@
Type:
Source:
- src/loader/Cache.js line 173 + src/loader/Cache.js line 173 @@ -1744,9 +1784,11 @@
Type:
-
-

<static, constant> VIDEO :number

- +
+

+ <static, constant> VIDEO : number + +

@@ -1799,7 +1841,7 @@
Type:
Source:
- src/loader/Cache.js line 209 + src/loader/Cache.js line 209 @@ -1815,9 +1857,11 @@
Type:
-
-

<static, constant> XML :number

- +
+

+ <static, constant> XML : number + +

@@ -1870,7 +1914,7 @@
Type:
Source:
- src/loader/Cache.js line 203 + src/loader/Cache.js line 203 @@ -1886,9 +1930,11 @@
Type:
-
-

autoResolveURL :boolean

- +
+

+ autoResolveURL : boolean + +

@@ -1945,7 +1991,7 @@
Type:
Source:
- src/loader/Cache.js line 45 + src/loader/Cache.js line 45 @@ -1961,9 +2007,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -2020,7 +2068,7 @@
Type:
Source:
- src/loader/Cache.js line 39 + src/loader/Cache.js line 39 @@ -2036,9 +2084,11 @@
Type:
-
-

onReady :Phaser.Signal

- +
+

+ onReady : Phaser.Signal + +

@@ -2095,7 +2145,7 @@
Type:
Source:
- src/loader/Cache.js line 127 + src/loader/Cache.js line 127 @@ -2111,9 +2161,11 @@
Type:
-
-

onSoundUnlock :Phaser.Signal

- +
+

+ onSoundUnlock : Phaser.Signal + +

@@ -2170,7 +2222,7 @@
Type:
Source:
- src/loader/Cache.js line 92 + src/loader/Cache.js line 92 @@ -2193,7 +2245,7 @@

Methods

-

+

addBinary(key, binaryData)

@@ -2322,7 +2374,7 @@
Parameters:
Source:
- src/loader/Cache.js line 532 + src/loader/Cache.js line 532 @@ -2351,7 +2403,7 @@
Parameters:
-

+

addBitmapData(key, bitmapData [, frameData])

@@ -2551,7 +2603,7 @@
Parameters:
Source:
- src/loader/Cache.js line 545 + src/loader/Cache.js line 545 @@ -2604,7 +2656,7 @@
Returns:
-

+

addBitmapFont(key, url, data, atlasData [, atlasType] [, xSpacing] [, ySpacing])

@@ -2953,7 +3005,7 @@
Parameters:
Source:
- src/loader/Cache.js line 570 + src/loader/Cache.js line 570 @@ -2982,7 +3034,7 @@
Parameters:
-

+

addBitmapFontFromAtlas(key, atlasKey, atlasFrame, dataKey [, dataType] [, xSpacing] [, ySpacing])

@@ -3336,7 +3388,7 @@
Parameters:
Source:
- src/loader/Cache.js line 609 + src/loader/Cache.js line 609 @@ -3365,7 +3417,7 @@
Parameters:
-

+

addCanvas(key, canvas [, context])

@@ -3546,7 +3598,7 @@
Parameters:
Source:
- src/loader/Cache.js line 319 + src/loader/Cache.js line 319 @@ -3575,7 +3627,7 @@
Parameters:
-

+

<protected> addDefaultImage()

@@ -3633,7 +3685,7 @@

Source:
- src/loader/Cache.js line 407 + src/loader/Cache.js line 407 @@ -3662,7 +3714,7 @@

-

+

addImage(key, url, data)

@@ -3817,7 +3869,7 @@
Parameters:
Source:
- src/loader/Cache.js line 335 + src/loader/Cache.js line 335 @@ -3870,7 +3922,7 @@
Returns:
-

+

addJSON(key, url, data)

@@ -4023,7 +4075,7 @@
Parameters:
Source:
- src/loader/Cache.js line 664 + src/loader/Cache.js line 664 @@ -4052,7 +4104,7 @@
Parameters:
-

+

<protected> addMissingImage()

@@ -4110,7 +4162,7 @@

Source:
- src/loader/Cache.js line 428 + src/loader/Cache.js line 428 @@ -4139,7 +4191,7 @@

-

+

addPhysicsData(key, url, JSONData, format)

@@ -4316,7 +4368,7 @@
Parameters:
Source:
- src/loader/Cache.js line 498 + src/loader/Cache.js line 498 @@ -4345,7 +4397,7 @@
Parameters:
-

+

addRenderTexture(key, texture)

@@ -4474,7 +4526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 729 + src/loader/Cache.js line 729 @@ -4503,7 +4555,7 @@
Parameters:
-

+

addShader(key, url, data)

@@ -4656,7 +4708,7 @@
Parameters:
Source:
- src/loader/Cache.js line 713 + src/loader/Cache.js line 713 @@ -4685,7 +4737,7 @@
Parameters:
-

+

addSound(key, url, data, webAudio, audioTag)

@@ -4886,7 +4938,7 @@
Parameters:
Source:
- src/loader/Cache.js line 446 + src/loader/Cache.js line 446 @@ -4915,7 +4967,7 @@
Parameters:
-

+

addSpriteSheet(key, url, data, frameWidth, frameHeight [, frameMax] [, margin] [, spacing] [, skipFrames])

@@ -5340,7 +5392,7 @@
Parameters:
Source:
- src/loader/Cache.js line 742 + src/loader/Cache.js line 742 @@ -5369,7 +5421,7 @@
Parameters:
-

+

addText(key, url, data)

@@ -5522,7 +5574,7 @@
Parameters:
Source:
- src/loader/Cache.js line 482 + src/loader/Cache.js line 482 @@ -5551,7 +5603,7 @@
Parameters:
-

+

addTextureAtlas(key, url, data, atlasData, format)

@@ -5752,7 +5804,7 @@
Parameters:
Source:
- src/loader/Cache.js line 780 + src/loader/Cache.js line 780 @@ -5781,7 +5833,7 @@
Parameters:
-

+

addTilemap(key, url, mapData, format)

@@ -5958,7 +6010,7 @@
Parameters:
Source:
- src/loader/Cache.js line 515 + src/loader/Cache.js line 515 @@ -5987,7 +6039,7 @@
Parameters:
-

+

addVideo(key, url, data, isBlob)

@@ -6164,7 +6216,7 @@
Parameters:
Source:
- src/loader/Cache.js line 696 + src/loader/Cache.js line 696 @@ -6193,7 +6245,7 @@
Parameters:
-

+

addXML(key, url, data)

@@ -6346,7 +6398,7 @@
Parameters:
Source:
- src/loader/Cache.js line 680 + src/loader/Cache.js line 680 @@ -6375,7 +6427,7 @@
Parameters:
-

+

checkBinaryKey(key)

@@ -6480,7 +6532,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1079 + src/loader/Cache.js line 1079 @@ -6533,7 +6585,7 @@
Returns:
-

+

checkBitmapDataKey(key)

@@ -6638,7 +6690,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1092 + src/loader/Cache.js line 1092 @@ -6691,7 +6743,7 @@
Returns:
-

+

checkBitmapFontKey(key)

@@ -6796,7 +6848,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1105 + src/loader/Cache.js line 1105 @@ -6849,7 +6901,7 @@
Returns:
-

+

checkCanvasKey(key)

@@ -6954,7 +7006,7 @@
Parameters:
Source:
- src/loader/Cache.js line 988 + src/loader/Cache.js line 988 @@ -7007,7 +7059,7 @@
Returns:
-

+

checkImageKey(key)

@@ -7112,7 +7164,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1001 + src/loader/Cache.js line 1001 @@ -7165,7 +7217,7 @@
Returns:
-

+

checkJSONKey(key)

@@ -7270,7 +7322,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1118 + src/loader/Cache.js line 1118 @@ -7323,7 +7375,7 @@
Returns:
-

+

checkKey(cache, key)

@@ -7452,7 +7504,7 @@
Parameters:
Source:
- src/loader/Cache.js line 948 + src/loader/Cache.js line 948 @@ -7505,7 +7557,7 @@
Returns:
-

+

checkPhysicsKey(key)

@@ -7610,7 +7662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1053 + src/loader/Cache.js line 1053 @@ -7663,7 +7715,7 @@
Returns:
-

+

checkRenderTextureKey(key)

@@ -7768,7 +7820,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1170 + src/loader/Cache.js line 1170 @@ -7821,7 +7873,7 @@
Returns:
-

+

checkShaderKey(key)

@@ -7926,7 +7978,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1157 + src/loader/Cache.js line 1157 @@ -7979,7 +8031,7 @@
Returns:
-

+

checkSoundKey(key)

@@ -8084,7 +8136,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1027 + src/loader/Cache.js line 1027 @@ -8137,7 +8189,7 @@
Returns:
-

+

checkTextKey(key)

@@ -8242,7 +8294,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1040 + src/loader/Cache.js line 1040 @@ -8295,7 +8347,7 @@
Returns:
-

+

checkTextureKey(key)

@@ -8400,7 +8452,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1014 + src/loader/Cache.js line 1014 @@ -8453,7 +8505,7 @@
Returns:
-

+

checkTilemapKey(key)

@@ -8558,7 +8610,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1066 + src/loader/Cache.js line 1066 @@ -8611,7 +8663,7 @@
Returns:
-

+

checkURL(url)

@@ -8719,7 +8771,7 @@
Parameters:
Source:
- src/loader/Cache.js line 967 + src/loader/Cache.js line 967 @@ -8772,7 +8824,7 @@
Returns:
-

+

checkVideoKey(key)

@@ -8877,7 +8929,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1144 + src/loader/Cache.js line 1144 @@ -8930,7 +8982,7 @@
Returns:
-

+

checkXMLKey(key)

@@ -9035,7 +9087,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1131 + src/loader/Cache.js line 1131 @@ -9088,7 +9140,7 @@
Returns:
-

+

<protected> clearGLTextures()

@@ -9144,7 +9196,7 @@

Source:
- src/loader/Cache.js line 2061 + src/loader/Cache.js line 2061 @@ -9173,7 +9225,7 @@

-

+

decodedSound(key, data)

@@ -9302,7 +9354,7 @@
Parameters:
Source:
- src/loader/Cache.js line 890 + src/loader/Cache.js line 890 @@ -9331,7 +9383,7 @@
Parameters:
-

+

destroy()

@@ -9389,7 +9441,7 @@

Source:
- src/loader/Cache.js line 2111 + src/loader/Cache.js line 2111 @@ -9418,7 +9470,7 @@

-

+

<protected> destroyItem(item)

@@ -9519,7 +9571,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2142 + src/loader/Cache.js line 2142 @@ -9548,7 +9600,7 @@
Parameters:
-

+

getBaseTexture(key [, cache])

@@ -9709,7 +9761,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1590 + src/loader/Cache.js line 1590 @@ -9762,7 +9814,7 @@
Returns:
-

+

getBinary(key)

@@ -9869,7 +9921,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1430 + src/loader/Cache.js line 1430 @@ -9922,7 +9974,7 @@
Returns:
-

+

getBitmapData(key)

@@ -10029,7 +10081,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1447 + src/loader/Cache.js line 1447 @@ -10082,7 +10134,7 @@
Returns:
-

+

getBitmapFont(key)

@@ -10189,7 +10241,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1464 + src/loader/Cache.js line 1464 @@ -10242,7 +10294,7 @@
Returns:
-

+

getCanvas(key)

@@ -10349,7 +10401,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1225 + src/loader/Cache.js line 1225 @@ -10402,7 +10454,7 @@
Returns:
-

+

getFrame(key [, cache])

@@ -10563,7 +10615,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1606 + src/loader/Cache.js line 1606 @@ -10616,7 +10668,7 @@
Returns:
-

+

getFrameByIndex(key, index [, cache])

@@ -10813,7 +10865,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1700 + src/loader/Cache.js line 1700 @@ -10866,7 +10918,7 @@
Returns:
-

+

getFrameByName(key, name [, cache])

@@ -11063,7 +11115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1724 + src/loader/Cache.js line 1724 @@ -11116,7 +11168,7 @@
Returns:
-

+

getFrameCount(key [, cache])

@@ -11277,7 +11329,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1622 + src/loader/Cache.js line 1622 @@ -11330,7 +11382,7 @@
Returns:
-

+

getFrameData(key [, cache])

@@ -11493,7 +11545,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1645 + src/loader/Cache.js line 1645 @@ -11546,7 +11598,7 @@
Returns:
-

+

getImage( [key] [, full])

@@ -11713,7 +11765,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1242 + src/loader/Cache.js line 1242 @@ -11766,7 +11818,7 @@
Returns:
-

+

getItem(key, cache [, method] [, property])

@@ -11983,7 +12035,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1187 + src/loader/Cache.js line 1187 @@ -12036,7 +12088,7 @@
Returns:
-

+

getJSON(key [, clone])

@@ -12201,7 +12253,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1481 + src/loader/Cache.js line 1481 @@ -12254,7 +12306,7 @@
Returns:
-

+

getKeys( [cache])

@@ -12379,7 +12431,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1773 + src/loader/Cache.js line 1773 @@ -12432,7 +12484,7 @@
Returns:
-

+

getPhysicsData(key [, object], fixtureKey)

@@ -12632,7 +12684,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1351 + src/loader/Cache.js line 1351 @@ -12685,7 +12737,7 @@
Returns:
-

+

getRenderTexture(key)

@@ -12792,7 +12844,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1569 + src/loader/Cache.js line 1569 @@ -12845,7 +12897,7 @@
Returns:
-

+

getShader(key)

@@ -12952,7 +13004,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1552 + src/loader/Cache.js line 1552 @@ -13005,7 +13057,7 @@
Returns:
-

+

getSound(key)

@@ -13112,7 +13164,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1300 + src/loader/Cache.js line 1300 @@ -13165,7 +13217,7 @@
Returns:
-

+

getSoundData(key)

@@ -13272,7 +13324,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1317 + src/loader/Cache.js line 1317 @@ -13325,7 +13377,7 @@
Returns:
-

+

getText(key)

@@ -13432,7 +13484,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1334 + src/loader/Cache.js line 1334 @@ -13485,7 +13537,7 @@
Returns:
-

+

getTextureFrame(key)

@@ -13591,7 +13643,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1285 + src/loader/Cache.js line 1285 @@ -13644,7 +13696,7 @@
Returns:
-

+

getTilemapData(key)

@@ -13751,7 +13803,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1413 + src/loader/Cache.js line 1413 @@ -13804,7 +13856,7 @@
Returns:
-

+

getURL(url)

@@ -13911,7 +13963,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1748 + src/loader/Cache.js line 1748 @@ -13964,7 +14016,7 @@
Returns:
-

+

getVideo(key)

@@ -14071,7 +14123,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1535 + src/loader/Cache.js line 1535 @@ -14124,7 +14176,7 @@
Returns:
-

+

getXML(key)

@@ -14231,7 +14283,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1518 + src/loader/Cache.js line 1518 @@ -14284,7 +14336,7 @@
Returns:
-

+

hasFrameData(key [, cache])

@@ -14445,7 +14497,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1665 + src/loader/Cache.js line 1665 @@ -14498,7 +14550,7 @@
Returns:
-

+

isSoundDecoded(key)

@@ -14603,7 +14655,7 @@
Parameters:
Source:
- src/loader/Cache.js line 907 + src/loader/Cache.js line 907 @@ -14656,7 +14708,7 @@
Returns:
-

+

isSoundReady(key)

@@ -14762,7 +14814,7 @@
Parameters:
Source:
- src/loader/Cache.js line 925 + src/loader/Cache.js line 925 @@ -14815,7 +14867,7 @@
Returns:
-

+

reloadSound(key)

@@ -14920,7 +14972,7 @@
Parameters:
Source:
- src/loader/Cache.js line 830 + src/loader/Cache.js line 830 @@ -14949,7 +15001,7 @@
Parameters:
-

+

reloadSoundComplete(key)

@@ -15054,7 +15106,7 @@
Parameters:
Source:
- src/loader/Cache.js line 855 + src/loader/Cache.js line 855 @@ -15083,7 +15135,7 @@
Parameters:
-

+

removeBinary(key)

@@ -15190,7 +15242,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1911 + src/loader/Cache.js line 1911 @@ -15219,7 +15271,7 @@
Parameters:
-

+

removeBitmapData(key)

@@ -15326,7 +15378,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1926 + src/loader/Cache.js line 1926 @@ -15355,7 +15407,7 @@
Parameters:
-

+

removeBitmapFont(key)

@@ -15462,7 +15514,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1941 + src/loader/Cache.js line 1941 @@ -15491,7 +15543,7 @@
Parameters:
-

+

removeCanvas(key)

@@ -15598,7 +15650,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1805 + src/loader/Cache.js line 1805 @@ -15627,7 +15679,7 @@
Parameters:
-

+

removeImage(key [, destroyBaseTexture])

@@ -15791,7 +15843,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1820 + src/loader/Cache.js line 1820 @@ -15820,7 +15872,7 @@
Parameters:
-

+

removeJSON(key)

@@ -15927,7 +15979,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1956 + src/loader/Cache.js line 1956 @@ -15956,7 +16008,7 @@
Parameters:
-

+

removePhysics(key)

@@ -16063,7 +16115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1881 + src/loader/Cache.js line 1881 @@ -16092,7 +16144,7 @@
Parameters:
-

+

removeRenderTexture(key)

@@ -16199,7 +16251,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2016 + src/loader/Cache.js line 2016 @@ -16228,7 +16280,7 @@
Parameters:
-

+

removeShader(key)

@@ -16335,7 +16387,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2001 + src/loader/Cache.js line 2001 @@ -16364,7 +16416,7 @@
Parameters:
-

+

removeSound(key)

@@ -16474,7 +16526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1847 + src/loader/Cache.js line 1847 @@ -16503,7 +16555,7 @@
Parameters:
-

+

removeSpriteSheet(key)

@@ -16610,7 +16662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2031 + src/loader/Cache.js line 2031 @@ -16639,7 +16691,7 @@
Parameters:
-

+

removeText(key)

@@ -16746,7 +16798,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1866 + src/loader/Cache.js line 1866 @@ -16775,7 +16827,7 @@
Parameters:
-

+

removeTextureAtlas(key)

@@ -16882,7 +16934,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2046 + src/loader/Cache.js line 2046 @@ -16911,7 +16963,7 @@
Parameters:
-

+

removeTilemap(key)

@@ -17018,7 +17070,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1896 + src/loader/Cache.js line 1896 @@ -17047,7 +17099,7 @@
Parameters:
-

+

removeVideo(key)

@@ -17154,7 +17206,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1986 + src/loader/Cache.js line 1986 @@ -17183,7 +17235,7 @@
Parameters:
-

+

removeXML(key)

@@ -17290,7 +17342,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1971 + src/loader/Cache.js line 1971 @@ -17319,7 +17371,7 @@
Parameters:
-

+

updateFrameData(key, frameData [, cache])

@@ -17516,7 +17568,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1681 + src/loader/Cache.js line 1681 @@ -17545,7 +17597,7 @@
Parameters:
-

+

updateSound(key)

@@ -17650,7 +17702,7 @@
Parameters:
Source:
- src/loader/Cache.js line 873 + src/loader/Cache.js line 873 @@ -17693,9 +17745,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -17712,9 +17764,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -17726,7 +17778,7 @@
Parameters:
- +
@@ -17741,7 +17793,7 @@
Parameters:
- + diff --git a/docs/Phaser.Camera.html b/docs/Phaser.Camera.html index 57303adc4..ba3ecd56c 100644 --- a/docs/Phaser.Camera.html +++ b/docs/Phaser.Camera.html @@ -6,7 +6,7 @@ Phaser CE Class: Camera - + @@ -125,7 +125,7 @@

-

+

new Camera(game, id, x, y, width, height)

@@ -351,7 +351,7 @@
Parameters:
Source:
- src/core/Camera.js line 20 + src/core/Camera.js line 20 @@ -395,9 +395,11 @@

Members

-
-

<static, constant> ENABLE_FX :boolean

- +
+

+ <static, constant> ENABLE_FX : boolean + +

@@ -450,7 +452,7 @@
Type:
Source:
- src/core/Camera.js line 239 + src/core/Camera.js line 239 @@ -466,9 +468,11 @@
Type:
-
-

<static, constant> FOLLOW_LOCKON :number

- +
+

+ <static, constant> FOLLOW_LOCKON : number + +

@@ -525,7 +529,7 @@
Type:
Source:
- src/core/Camera.js line 191 + src/core/Camera.js line 191 @@ -541,9 +545,11 @@
Type:
-
-

<static, constant> FOLLOW_PLATFORMER :number

- +
+

+ <static, constant> FOLLOW_PLATFORMER : number + +

@@ -600,7 +606,7 @@
Type:
Source:
- src/core/Camera.js line 199 + src/core/Camera.js line 199 @@ -616,9 +622,11 @@
Type:
-
-

<static, constant> FOLLOW_TOPDOWN :number

- +
+

+ <static, constant> FOLLOW_TOPDOWN : number + +

@@ -675,7 +683,7 @@
Type:
Source:
- src/core/Camera.js line 207 + src/core/Camera.js line 207 @@ -691,9 +699,11 @@
Type:
-
-

<static, constant> FOLLOW_TOPDOWN_TIGHT :number

- +
+

+ <static, constant> FOLLOW_TOPDOWN_TIGHT : number + +

@@ -750,7 +760,7 @@
Type:
Source:
- src/core/Camera.js line 215 + src/core/Camera.js line 215 @@ -766,9 +776,11 @@
Type:
-
-

<static, constant> SHAKE_BOTH :number

- +
+

+ <static, constant> SHAKE_BOTH : number + +

@@ -821,7 +833,7 @@
Type:
Source:
- src/core/Camera.js line 221 + src/core/Camera.js line 221 @@ -837,9 +849,11 @@
Type:
-
-

<static, constant> SHAKE_HORIZONTAL :number

- +
+

+ <static, constant> SHAKE_HORIZONTAL : number + +

@@ -892,7 +906,7 @@
Type:
Source:
- src/core/Camera.js line 227 + src/core/Camera.js line 227 @@ -908,9 +922,11 @@
Type:
-
-

<static, constant> SHAKE_VERTICAL :number

- +
+

+ <static, constant> SHAKE_VERTICAL : number + +

@@ -963,7 +979,7 @@
Type:
Source:
- src/core/Camera.js line 233 + src/core/Camera.js line 233 @@ -979,9 +995,11 @@
Type:
-
-

atLimit :boolean

- +
+

+ atLimit : boolean + +

@@ -1038,7 +1056,7 @@
Type:
Source:
- src/core/Camera.js line 76 + src/core/Camera.js line 76 @@ -1054,9 +1072,11 @@
Type:
-
-

bounds :Phaser.Rectangle

- +
+

+ bounds : Phaser.Rectangle + +

@@ -1115,7 +1135,7 @@
Type:
Source:
- src/core/Camera.js line 54 + src/core/Camera.js line 54 @@ -1131,9 +1151,11 @@
Type:
-
-

deadzone :Phaser.Rectangle

- +
+

+ deadzone : Phaser.Rectangle + +

@@ -1190,7 +1212,7 @@
Type:
Source:
- src/core/Camera.js line 59 + src/core/Camera.js line 59 @@ -1206,9 +1228,11 @@
Type:
-
-

displayObject :PIXI.DisplayObject

- +
+

+ displayObject : PIXI.DisplayObject + +

@@ -1265,7 +1289,7 @@
Type:
Source:
- src/core/Camera.js line 87 + src/core/Camera.js line 87 @@ -1281,9 +1305,11 @@
Type:
-
-

<protected> fx :Phaser.Graphics

- +
+

+ <protected> fx : Phaser.Graphics + +

@@ -1340,7 +1366,7 @@
Type:
Source:
- src/core/Camera.js line 135 + src/core/Camera.js line 135 @@ -1356,9 +1382,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -1415,7 +1443,7 @@
Type:
Source:
- src/core/Camera.js line 25 + src/core/Camera.js line 25 @@ -1431,9 +1459,11 @@
Type:
-
-

height :number

- +
+

+ height : number + +

@@ -1490,7 +1520,7 @@
Type:
Source:
- src/core/Camera.js line 912 + src/core/Camera.js line 912 @@ -1506,9 +1536,11 @@
Type:
-
-

id :number

- +
+

+ id : number + +

@@ -1565,7 +1597,7 @@
Type:
Source:
- src/core/Camera.js line 36 + src/core/Camera.js line 36 @@ -1581,9 +1613,11 @@
Type:
-
-

lerp :Phaser.Point

- +
+

+ lerp : Phaser.Point + +

@@ -1644,7 +1678,7 @@
Type:
Source:
- src/core/Camera.js line 109 + src/core/Camera.js line 109 @@ -1660,9 +1694,11 @@
Type:
-
-

onFadeComplete :Phaser.Signal

- +
+

+ onFadeComplete : Phaser.Signal + +

@@ -1722,7 +1758,7 @@
Type:
Source:
- src/core/Camera.js line 128 + src/core/Camera.js line 128 @@ -1738,9 +1774,11 @@
Type:
-
-

onFlashComplete :Phaser.Signal

- +
+

+ onFlashComplete : Phaser.Signal + +

@@ -1797,7 +1835,7 @@
Type:
Source:
- src/core/Camera.js line 119 + src/core/Camera.js line 119 @@ -1813,9 +1851,11 @@
Type:
-
-

onShakeComplete :Phaser.Signal

- +
+

+ onShakeComplete : Phaser.Signal + +

@@ -1872,7 +1912,7 @@
Type:
Source:
- src/core/Camera.js line 114 + src/core/Camera.js line 114 @@ -1888,9 +1928,11 @@
Type:
-
-

position :Phaser.Point

- +
+

+ position : Phaser.Point + +

@@ -1947,7 +1989,7 @@
Type:
Source:
- src/core/Camera.js line 863 + src/core/Camera.js line 863 @@ -1963,9 +2005,11 @@
Type:
-
-

roundPx :boolean

- +
+

+ roundPx : boolean + +

@@ -2029,7 +2073,7 @@
Type:
Source:
- src/core/Camera.js line 71 + src/core/Camera.js line 71 @@ -2045,9 +2089,11 @@
Type:
-
-

scale :Phaser.Point

- +
+

+ scale : Phaser.Point + +

@@ -2104,7 +2150,7 @@
Type:
Source:
- src/core/Camera.js line 92 + src/core/Camera.js line 92 @@ -2120,9 +2166,11 @@
Type:
-
-

shakeIntensity :number

- +
+

+ shakeIntensity : number + +

@@ -2179,7 +2227,7 @@
Type:
Source:
- src/core/Camera.js line 934 + src/core/Camera.js line 934 @@ -2195,9 +2243,11 @@
Type:
-
-

target :Phaser.Sprite

- +
+

+ target : Phaser.Sprite + +

@@ -2254,7 +2304,7 @@
Type:
Source:
- src/core/Camera.js line 82 + src/core/Camera.js line 82 @@ -2270,9 +2320,11 @@
Type:
-
-

<readonly> totalInView :number

- +
+

+ <readonly> totalInView : number + +

@@ -2329,7 +2381,7 @@
Type:
Source:
- src/core/Camera.js line 98 + src/core/Camera.js line 98 @@ -2345,9 +2397,11 @@
Type:
-
-

view :Phaser.Rectangle

- +
+

+ view : Phaser.Rectangle + +

@@ -2407,7 +2461,7 @@
Type:
Source:
- src/core/Camera.js line 45 + src/core/Camera.js line 45 @@ -2423,9 +2477,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -2489,7 +2545,7 @@
Type:
Source:
- src/core/Camera.js line 65 + src/core/Camera.js line 65 @@ -2505,9 +2561,11 @@
Type:
-
-

width :number

- +
+

+ width : number + +

@@ -2564,7 +2622,7 @@
Type:
Source:
- src/core/Camera.js line 891 + src/core/Camera.js line 891 @@ -2580,9 +2638,11 @@
Type:
-
-

world :Phaser.World

- +
+

+ world : Phaser.World + +

@@ -2639,7 +2699,7 @@
Type:
Source:
- src/core/Camera.js line 30 + src/core/Camera.js line 30 @@ -2655,9 +2715,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -2714,7 +2776,7 @@
Type:
Source:
- src/core/Camera.js line 813 + src/core/Camera.js line 813 @@ -2730,9 +2792,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -2789,7 +2853,7 @@
Type:
Source:
- src/core/Camera.js line 838 + src/core/Camera.js line 838 @@ -2812,7 +2876,7 @@

Methods

-

+

<protected> checkBounds()

@@ -2868,7 +2932,7 @@

Source:
- src/core/Camera.js line 669 + src/core/Camera.js line 669 @@ -2897,7 +2961,7 @@

-

+

fade( [color] [, duration] [, force] [, alpha])

@@ -3149,7 +3213,7 @@
Parameters:
Source:
- src/core/Camera.js line 451 + src/core/Camera.js line 451 @@ -3202,7 +3266,7 @@
Returns:
-

+

flash( [color] [, duration] [, force] [, alpha])

@@ -3450,7 +3514,7 @@
Parameters:
Source:
- src/core/Camera.js line 409 + src/core/Camera.js line 409 @@ -3503,7 +3567,7 @@
Returns:
-

+

focusOn(displayObject)

@@ -3608,7 +3672,7 @@
Parameters:
Source:
- src/core/Camera.js line 343 + src/core/Camera.js line 343 @@ -3637,7 +3701,7 @@
Parameters:
-

+

focusOnXY(x, y)

@@ -3766,7 +3830,7 @@
Parameters:
Source:
- src/core/Camera.js line 354 + src/core/Camera.js line 354 @@ -3795,7 +3859,7 @@
Parameters:
-

+

follow(target [, style] [, lerpX] [, lerpY])

@@ -4044,7 +4108,7 @@
Parameters:
Source:
- src/core/Camera.js line 277 + src/core/Camera.js line 277 @@ -4073,7 +4137,7 @@
Parameters:
-

+

preUpdate()

@@ -4128,7 +4192,7 @@

Source:
- src/core/Camera.js line 266 + src/core/Camera.js line 266 @@ -4157,7 +4221,7 @@

-

+

reset()

@@ -4214,7 +4278,7 @@

Source:
- src/core/Camera.js line 769 + src/core/Camera.js line 769 @@ -4243,7 +4307,7 @@

-

+

resetFX()

@@ -4299,7 +4363,7 @@

Source:
- src/core/Camera.js line 791 + src/core/Camera.js line 791 @@ -4328,7 +4392,7 @@

-

+

setBoundsToWorld()

@@ -4383,7 +4447,7 @@

Source:
- src/core/Camera.js line 655 + src/core/Camera.js line 655 @@ -4412,7 +4476,7 @@

-

+

setPosition(x, y)

@@ -4542,7 +4606,7 @@
Parameters:
Source:
- src/core/Camera.js line 735 + src/core/Camera.js line 735 @@ -4571,7 +4635,7 @@
Parameters:
-

+

setSize(width, height)

@@ -4700,7 +4764,7 @@
Parameters:
Source:
- src/core/Camera.js line 755 + src/core/Camera.js line 755 @@ -4729,7 +4793,7 @@
Parameters:
-

+

shake( [intensity] [, duration] [, force] [, direction] [, shakeBounds])

@@ -5017,7 +5081,7 @@
Parameters:
Source:
- src/core/Camera.js line 366 + src/core/Camera.js line 366 @@ -5070,7 +5134,7 @@
Returns:
-

+

unfollow()

@@ -5125,7 +5189,7 @@

Source:
- src/core/Camera.js line 332 + src/core/Camera.js line 332 @@ -5154,7 +5218,7 @@

-

+

<protected> update()

@@ -5209,7 +5273,7 @@

Source:
- src/core/Camera.js line 498 + src/core/Camera.js line 498 @@ -5252,9 +5316,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -5271,9 +5335,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -5285,7 +5349,7 @@

- +
@@ -5300,7 +5364,7 @@

- + diff --git a/docs/Phaser.Canvas.html b/docs/Phaser.Canvas.html index 3335cab03..d36bd8e3e 100644 --- a/docs/Phaser.Canvas.html +++ b/docs/Phaser.Canvas.html @@ -6,7 +6,7 @@ Phaser CE Class: Canvas - + @@ -125,7 +125,7 @@

-

+

new Canvas()

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

Source:
- src/utils/Canvas.js line 14 + src/utils/Canvas.js line 14 @@ -228,7 +228,7 @@

Methods

-

+

<static> addToDOM(canvas, parent [, overflowHidden])

@@ -429,7 +429,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 109 + src/utils/Canvas.js line 109 @@ -482,7 +482,7 @@
Returns:
-

+

<static> create(parent [, width] [, height] [, id] [, skipPool])

@@ -763,7 +763,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 16 + src/utils/Canvas.js line 16 @@ -816,7 +816,7 @@
Returns:
-

+

<static> getSmoothingEnabled(context)

@@ -921,7 +921,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 242 + src/utils/Canvas.js line 242 @@ -974,7 +974,7 @@
Returns:
-

+

<static> getSmoothingPrefix(context)

@@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 217 + src/utils/Canvas.js line 217 @@ -1135,7 +1135,7 @@
Returns:
-

+

<static> removeFromDOM(canvas)

@@ -1240,7 +1240,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 156 + src/utils/Canvas.js line 156 @@ -1269,7 +1269,7 @@
Parameters:
-

+

<static> setBackgroundColor(canvas [, color])

@@ -1430,7 +1430,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 47 + src/utils/Canvas.js line 47 @@ -1483,7 +1483,7 @@
Returns:
-

+

<static> setImageRenderingBicubic(canvas)

@@ -1589,7 +1589,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 283 + src/utils/Canvas.js line 283 @@ -1642,7 +1642,7 @@
Returns:
-

+

<static> setImageRenderingCrisp(canvas)

@@ -1748,7 +1748,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 260 + src/utils/Canvas.js line 260 @@ -1801,7 +1801,7 @@
Returns:
-

+

<static> setSmoothingEnabled(context, value)

@@ -1934,7 +1934,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 192 + src/utils/Canvas.js line 192 @@ -1987,7 +1987,7 @@
Returns:
-

+

<static> setTouchAction(canvas [, value])

@@ -2136,7 +2136,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 65 + src/utils/Canvas.js line 65 @@ -2189,7 +2189,7 @@
Returns:
-

+

<static> setTransform(context, translateX, translateY, scaleX, scaleY, skewX, skewY)

@@ -2438,7 +2438,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 171 + src/utils/Canvas.js line 171 @@ -2491,7 +2491,7 @@
Returns:
-

+

<static> setUserSelect(canvas [, value])

@@ -2640,7 +2640,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 85 + src/utils/Canvas.js line 85 @@ -2707,9 +2707,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2726,9 +2726,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2740,7 +2740,7 @@
Returns:
- +
@@ -2755,7 +2755,7 @@
Returns:
- + diff --git a/docs/Phaser.CanvasPool.html b/docs/Phaser.CanvasPool.html index ed0cdb79b..c528d13ca 100644 --- a/docs/Phaser.CanvasPool.html +++ b/docs/Phaser.CanvasPool.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasPool - + @@ -125,7 +125,7 @@

-

+

new CanvasPool()

@@ -180,7 +180,7 @@

Source:
- src/utils/CanvasPool.js line 13 + src/utils/CanvasPool.js line 13 @@ -224,9 +224,11 @@

Members

-
-

<static> pool :Array

- +
+

+ <static> pool : Array + +

@@ -283,7 +285,7 @@
Type:
Source:
- src/utils/CanvasPool.js line 186 + src/utils/CanvasPool.js line 186 @@ -306,7 +308,7 @@

Methods

-

+

<static> create(parent, width, height)

@@ -459,7 +461,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 15 + src/utils/CanvasPool.js line 15 @@ -512,7 +514,7 @@
Returns:
-

+

<static> getFirst()

@@ -567,7 +569,7 @@

Source:
- src/utils/CanvasPool.js line 58 + src/utils/CanvasPool.js line 58 @@ -616,7 +618,7 @@
Returns:
-

+

<static> getFree()

@@ -671,7 +673,7 @@

Source:
- src/utils/CanvasPool.js line 153 + src/utils/CanvasPool.js line 153 @@ -724,7 +726,7 @@
Returns:
-

+

<static> getTotal()

@@ -779,7 +781,7 @@

Source:
- src/utils/CanvasPool.js line 129 + src/utils/CanvasPool.js line 129 @@ -832,7 +834,7 @@
Returns:
-

+

<static> remove(parent)

@@ -938,7 +940,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 81 + src/utils/CanvasPool.js line 81 @@ -967,7 +969,7 @@
Parameters:
-

+

<static> removeByCanvas(canvas)

@@ -1073,7 +1075,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 105 + src/utils/CanvasPool.js line 105 @@ -1116,9 +1118,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1135,9 +1137,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1149,7 +1151,7 @@
Parameters:
- +
@@ -1164,7 +1166,7 @@
Parameters:
- + diff --git a/docs/Phaser.Circle.html b/docs/Phaser.Circle.html index 312831e03..0e29aa616 100644 --- a/docs/Phaser.Circle.html +++ b/docs/Phaser.Circle.html @@ -6,7 +6,7 @@ Phaser CE Class: Circle - + @@ -125,7 +125,7 @@

-

+

new Circle( [x] [, y] [, diameter])

@@ -331,7 +331,7 @@
Parameters:
Source:
- src/geom/Circle.js line 17 + src/geom/Circle.js line 17 @@ -375,9 +375,11 @@

Members

-
-

<readonly> area :number

- +
+

+ <readonly> area : number + +

@@ -434,7 +436,7 @@
Type:
Source:
- src/geom/Circle.js line 412 + src/geom/Circle.js line 412 @@ -450,9 +452,11 @@
Type:
-
-

bottom :number

- +
+

+ bottom : number + +

@@ -509,7 +513,7 @@
Type:
Source:
- src/geom/Circle.js line 385 + src/geom/Circle.js line 385 @@ -525,9 +529,11 @@
Type:
-
-

diameter :number

- +
+

+ diameter : number + +

@@ -584,7 +590,7 @@
Type:
Source:
- src/geom/Circle.js line 258 + src/geom/Circle.js line 258 @@ -600,9 +606,11 @@
Type:
-
-

empty :boolean

- +
+

+ empty : boolean + +

@@ -660,7 +668,7 @@
Type:
Source:
- src/geom/Circle.js line 435 + src/geom/Circle.js line 435 @@ -676,9 +684,11 @@
Type:
-
-

left

- +
+

+ left + +

@@ -724,7 +734,7 @@

leftSource:

- src/geom/Circle.js line 304 + src/geom/Circle.js line 304 @@ -740,9 +750,11 @@

left -

radius :number

- +
+

+ radius : number + +

@@ -799,7 +811,7 @@
Type:
Source:
- src/geom/Circle.js line 281 + src/geom/Circle.js line 281 @@ -815,9 +827,11 @@
Type:
-
+
@@ -874,7 +888,7 @@
Type:
Source:
- src/geom/Circle.js line 331 + src/geom/Circle.js line 331 @@ -890,9 +904,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -949,7 +965,7 @@
Type:
Source:
- src/geom/Circle.js line 358 + src/geom/Circle.js line 358 @@ -965,9 +981,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -1024,7 +1042,7 @@
Type:
Source:
- src/geom/Circle.js line 54 + src/geom/Circle.js line 54 @@ -1040,9 +1058,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -1099,7 +1119,7 @@
Type:
Source:
- src/geom/Circle.js line 26 + src/geom/Circle.js line 26 @@ -1115,9 +1135,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -1174,7 +1196,7 @@
Type:
Source:
- src/geom/Circle.js line 31 + src/geom/Circle.js line 31 @@ -1197,7 +1219,7 @@

Methods

-

+

<static> circumferencePoint(a, angle [, asDegrees] [, out])

@@ -1432,7 +1454,7 @@
Parameters:
Source:
- src/geom/Circle.js line 510 + src/geom/Circle.js line 510 @@ -1485,7 +1507,7 @@
Returns:
-

+

<static> contains(a, x, y)

@@ -1638,7 +1660,7 @@
Parameters:
Source:
- src/geom/Circle.js line 458 + src/geom/Circle.js line 458 @@ -1691,7 +1713,7 @@
Returns:
-

+

<static> equals(a, b)

@@ -1820,7 +1842,7 @@
Parameters:
Source:
- src/geom/Circle.js line 483 + src/geom/Circle.js line 483 @@ -1873,7 +1895,7 @@
Returns:
-

+

<static> intersects(a, b)

@@ -2003,7 +2025,7 @@
Parameters:
Source:
- src/geom/Circle.js line 496 + src/geom/Circle.js line 496 @@ -2056,7 +2078,7 @@
Returns:
-

+

<static> intersectsRectangle(c, r)

@@ -2185,7 +2207,7 @@
Parameters:
Source:
- src/geom/Circle.js line 536 + src/geom/Circle.js line 536 @@ -2238,7 +2260,7 @@
Returns:
-

+

circumference()

@@ -2293,7 +2315,7 @@

Source:
- src/geom/Circle.js line 60 + src/geom/Circle.js line 60 @@ -2346,7 +2368,7 @@
Returns:
-

+

circumferencePoint(angle [, asDegrees] [, out])

@@ -2545,7 +2567,7 @@
Parameters:
Source:
- src/geom/Circle.js line 205 + src/geom/Circle.js line 205 @@ -2598,7 +2620,7 @@
Returns:
-

+

clone(output)

@@ -2703,7 +2725,7 @@
Parameters:
Source:
- src/geom/Circle.js line 171 + src/geom/Circle.js line 171 @@ -2756,7 +2778,7 @@
Returns:
-

+

contains(x, y)

@@ -2885,7 +2907,7 @@
Parameters:
Source:
- src/geom/Circle.js line 192 + src/geom/Circle.js line 192 @@ -2938,7 +2960,7 @@
Returns:
-

+

copyFrom(source)

@@ -3043,7 +3065,7 @@
Parameters:
Source:
- src/geom/Circle.js line 128 + src/geom/Circle.js line 128 @@ -3096,7 +3118,7 @@
Returns:
-

+

copyTo(dest)

@@ -3201,7 +3223,7 @@
Parameters:
Source:
- src/geom/Circle.js line 140 + src/geom/Circle.js line 140 @@ -3254,7 +3276,7 @@
Returns:
-

+

distance(dest [, round])

@@ -3416,7 +3438,7 @@
Parameters:
Source:
- src/geom/Circle.js line 156 + src/geom/Circle.js line 156 @@ -3469,7 +3491,7 @@
Returns:
-

+

getBounds()

@@ -3524,7 +3546,7 @@

Source:
- src/geom/Circle.js line 97 + src/geom/Circle.js line 97 @@ -3577,7 +3599,7 @@
Returns:
-

+

offset(dx, dy)

@@ -3706,7 +3728,7 @@
Parameters:
Source:
- src/geom/Circle.js line 219 + src/geom/Circle.js line 219 @@ -3759,7 +3781,7 @@
Returns:
-

+

offsetPoint(point)

@@ -3864,7 +3886,7 @@
Parameters:
Source:
- src/geom/Circle.js line 235 + src/geom/Circle.js line 235 @@ -3917,7 +3939,7 @@
Returns:
-

+

random( [out])

@@ -4038,7 +4060,7 @@
Parameters:
Source:
- src/geom/Circle.js line 72 + src/geom/Circle.js line 72 @@ -4091,7 +4113,7 @@
Returns:
-

+

setTo(x, y, diameter)

@@ -4244,7 +4266,7 @@
Parameters:
Source:
- src/geom/Circle.js line 109 + src/geom/Circle.js line 109 @@ -4297,7 +4319,7 @@
Returns:
-

+

toString()

@@ -4352,7 +4374,7 @@

Source:
- src/geom/Circle.js line 245 + src/geom/Circle.js line 245 @@ -4419,9 +4441,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -4438,9 +4460,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -4452,7 +4474,7 @@
Returns:
- +
@@ -4467,7 +4489,7 @@
Returns:
- + diff --git a/docs/Phaser.Color.html b/docs/Phaser.Color.html index b4d3c83ab..b0d9d7661 100644 --- a/docs/Phaser.Color.html +++ b/docs/Phaser.Color.html @@ -6,7 +6,7 @@ Phaser CE Class: Color - + @@ -125,7 +125,7 @@

-

+

new Color()

@@ -180,7 +180,7 @@

Source:
- src/utils/Color.js line 12 + src/utils/Color.js line 12 @@ -227,7 +227,7 @@

Methods

-

+

<static> blendAdd(a, b)

@@ -356,7 +356,7 @@
Parameters:
Source:
- src/utils/Color.js line 1090 + src/utils/Color.js line 1090 @@ -409,7 +409,7 @@
Returns:
-

+

<static> blendAverage(a, b)

@@ -538,7 +538,7 @@
Parameters:
Source:
- src/utils/Color.js line 1077 + src/utils/Color.js line 1077 @@ -591,7 +591,7 @@
Returns:
-

+

<static> blendColorBurn(a, b)

@@ -721,7 +721,7 @@
Parameters:
Source:
- src/utils/Color.js line 1249 + src/utils/Color.js line 1249 @@ -774,7 +774,7 @@
Returns:
-

+

<static> blendColorDodge(a, b)

@@ -904,7 +904,7 @@
Parameters:
Source:
- src/utils/Color.js line 1235 + src/utils/Color.js line 1235 @@ -957,7 +957,7 @@
Returns:
-

+

<static> blendDarken(a, b)

@@ -1086,7 +1086,7 @@
Parameters:
Source:
- src/utils/Color.js line 1048 + src/utils/Color.js line 1048 @@ -1139,7 +1139,7 @@
Returns:
-

+

<static> blendDifference(a, b)

@@ -1269,7 +1269,7 @@
Parameters:
Source:
- src/utils/Color.js line 1116 + src/utils/Color.js line 1116 @@ -1322,7 +1322,7 @@
Returns:
-

+

<static> blendExclusion(a, b)

@@ -1452,7 +1452,7 @@
Parameters:
Source:
- src/utils/Color.js line 1159 + src/utils/Color.js line 1159 @@ -1505,7 +1505,7 @@
Returns:
-

+

<static> blendGlow(a, b)

@@ -1634,7 +1634,7 @@
Parameters:
Source:
- src/utils/Color.js line 1363 + src/utils/Color.js line 1363 @@ -1687,7 +1687,7 @@
Returns:
-

+

<static> blendHardLight(a, b)

@@ -1823,7 +1823,7 @@
Parameters:
Source:
- src/utils/Color.js line 1211 + src/utils/Color.js line 1211 @@ -1876,7 +1876,7 @@
Returns:
-

+

<static> blendHardMix(a, b)

@@ -2008,7 +2008,7 @@
Parameters:
Source:
- src/utils/Color.js line 1334 + src/utils/Color.js line 1334 @@ -2061,7 +2061,7 @@
Returns:
-

+

<static> blendLighten(a, b)

@@ -2190,7 +2190,7 @@
Parameters:
Source:
- src/utils/Color.js line 1035 + src/utils/Color.js line 1035 @@ -2243,7 +2243,7 @@
Returns:
-

+

<static> blendLinearBurn(a, b)

@@ -2372,7 +2372,7 @@
Parameters:
Source:
- src/utils/Color.js line 1276 + src/utils/Color.js line 1276 @@ -2425,7 +2425,7 @@
Returns:
-

+

<static> blendLinearDodge(a, b)

@@ -2554,7 +2554,7 @@
Parameters:
Source:
- src/utils/Color.js line 1263 + src/utils/Color.js line 1263 @@ -2607,7 +2607,7 @@
Returns:
-

+

<static> blendLinearLight(a, b)

@@ -2738,7 +2738,7 @@
Parameters:
Source:
- src/utils/Color.js line 1289 + src/utils/Color.js line 1289 @@ -2791,7 +2791,7 @@
Returns:
-

+

<static> blendMultiply(a, b)

@@ -2923,7 +2923,7 @@
Parameters:
Source:
- src/utils/Color.js line 1061 + src/utils/Color.js line 1061 @@ -2976,7 +2976,7 @@
Returns:
-

+

<static> blendNegation(a, b)

@@ -3105,7 +3105,7 @@
Parameters:
Source:
- src/utils/Color.js line 1131 + src/utils/Color.js line 1131 @@ -3158,7 +3158,7 @@
Returns:
-

+

<static> blendNormal(a, b)

@@ -3287,7 +3287,7 @@
Parameters:
Source:
- src/utils/Color.js line 1022 + src/utils/Color.js line 1022 @@ -3340,7 +3340,7 @@
Returns:
-

+

<static> blendOverlay(a, b)

@@ -3471,7 +3471,7 @@
Parameters:
Source:
- src/utils/Color.js line 1173 + src/utils/Color.js line 1173 @@ -3524,7 +3524,7 @@
Returns:
-

+

<static> blendPhoenix(a, b)

@@ -3653,7 +3653,7 @@
Parameters:
Source:
- src/utils/Color.js line 1376 + src/utils/Color.js line 1376 @@ -3706,7 +3706,7 @@
Returns:
-

+

<static> blendPinLight(a, b)

@@ -3836,7 +3836,7 @@
Parameters:
Source:
- src/utils/Color.js line 1320 + src/utils/Color.js line 1320 @@ -3889,7 +3889,7 @@
Returns:
-

+

<static> blendReflect(a, b)

@@ -4018,7 +4018,7 @@
Parameters:
Source:
- src/utils/Color.js line 1350 + src/utils/Color.js line 1350 @@ -4071,7 +4071,7 @@
Returns:
-

+

<static> blendScreen(a, b)

@@ -4202,7 +4202,7 @@
Parameters:
Source:
- src/utils/Color.js line 1144 + src/utils/Color.js line 1144 @@ -4255,7 +4255,7 @@
Returns:
-

+

<static> blendSoftLight(a, b)

@@ -4391,7 +4391,7 @@
Parameters:
Source:
- src/utils/Color.js line 1188 + src/utils/Color.js line 1188 @@ -4444,7 +4444,7 @@
Returns:
-

+

<static> blendSubtract(a, b)

@@ -4573,7 +4573,7 @@
Parameters:
Source:
- src/utils/Color.js line 1103 + src/utils/Color.js line 1103 @@ -4626,7 +4626,7 @@
Returns:
-

+

<static> blendVividLight(a, b)

@@ -4758,7 +4758,7 @@
Parameters:
Source:
- src/utils/Color.js line 1304 + src/utils/Color.js line 1304 @@ -4811,7 +4811,7 @@
Returns:
-

+

<static> componentToHex(color)

@@ -4916,7 +4916,7 @@
Parameters:
Source:
- src/utils/Color.js line 726 + src/utils/Color.js line 726 @@ -4969,7 +4969,7 @@
Returns:
-

+

<static> createColor( [r] [, g] [, b] [, a] [, h] [, s] [, l] [, v])

@@ -5383,7 +5383,7 @@
Parameters:
Source:
- src/utils/Color.js line 470 + src/utils/Color.js line 470 @@ -5436,7 +5436,7 @@
Returns:
-

+

<static> fromRGBA(rgba [, out])

@@ -5593,7 +5593,7 @@
Parameters:
Source:
- src/utils/Color.js line 97 + src/utils/Color.js line 97 @@ -5646,7 +5646,7 @@
Returns:
-

+

<static> getAlpha(color)

@@ -5751,7 +5751,7 @@
Parameters:
Source:
- src/utils/Color.js line 962 + src/utils/Color.js line 962 @@ -5804,7 +5804,7 @@
Returns:
-

+

<static> getAlphaFloat(color)

@@ -5909,7 +5909,7 @@
Parameters:
Source:
- src/utils/Color.js line 974 + src/utils/Color.js line 974 @@ -5962,7 +5962,7 @@
Returns:
-

+

<static> getBlue(color)

@@ -6067,7 +6067,7 @@
Parameters:
Source:
- src/utils/Color.js line 1010 + src/utils/Color.js line 1010 @@ -6120,7 +6120,7 @@
Returns:
-

+

<static> getColor(r, g, b)

@@ -6273,7 +6273,7 @@
Parameters:
Source:
- src/utils/Color.js line 532 + src/utils/Color.js line 532 @@ -6326,7 +6326,7 @@
Returns:
-

+

<static> getColor32(a, r, g, b)

@@ -6503,7 +6503,7 @@
Parameters:
Source:
- src/utils/Color.js line 515 + src/utils/Color.js line 515 @@ -6556,7 +6556,7 @@
Returns:
-

+

<static> getGreen(color)

@@ -6661,7 +6661,7 @@
Parameters:
Source:
- src/utils/Color.js line 998 + src/utils/Color.js line 998 @@ -6714,7 +6714,7 @@
Returns:
-

+

<static> getRandomColor( [min] [, max] [, alpha])

@@ -6921,7 +6921,7 @@
Parameters:
Source:
- src/utils/Color.js line 866 + src/utils/Color.js line 866 @@ -6974,7 +6974,7 @@
Returns:
-

+

<static> getRed(color)

@@ -7079,7 +7079,7 @@
Parameters:
Source:
- src/utils/Color.js line 986 + src/utils/Color.js line 986 @@ -7132,7 +7132,7 @@
Returns:
-

+

<static> getRGB(color)

@@ -7238,7 +7238,7 @@
Parameters:
Source:
- src/utils/Color.js line 898 + src/utils/Color.js line 898 @@ -7291,7 +7291,7 @@
Returns:
-

+

<static> getWebRGB(color)

@@ -7399,7 +7399,7 @@
Parameters:
Source:
- src/utils/Color.js line 940 + src/utils/Color.js line 940 @@ -7452,7 +7452,7 @@
Returns:
-

+

<static> hexToColor(hex [, out])

@@ -7603,7 +7603,7 @@
Parameters:
Source:
- src/utils/Color.js line 596 + src/utils/Color.js line 596 @@ -7656,7 +7656,7 @@
Returns:
-

+

<static> hexToRGB(hex)

@@ -7761,7 +7761,7 @@
Parameters:
Source:
- src/utils/Color.js line 577 + src/utils/Color.js line 577 @@ -7814,7 +7814,7 @@
Returns:
-

+

<static> hexToRGBArray(color)

@@ -7919,7 +7919,7 @@
Parameters:
Source:
- src/utils/Color.js line 161 + src/utils/Color.js line 161 @@ -7972,7 +7972,7 @@
Returns:
-

+

<static> HSLColorWheel( [s] [, l])

@@ -8137,7 +8137,7 @@
Parameters:
Source:
- src/utils/Color.js line 767 + src/utils/Color.js line 767 @@ -8190,7 +8190,7 @@
Returns:
-

+

<static> HSLtoRGB(h, s, l [, out])

@@ -8406,7 +8406,7 @@
Parameters:
Source:
- src/utils/Color.js line 252 + src/utils/Color.js line 252 @@ -8459,7 +8459,7 @@
Returns:
-

+

<static> HSVColorWheel( [s] [, v])

@@ -8624,7 +8624,7 @@
Parameters:
Source:
- src/utils/Color.js line 742 + src/utils/Color.js line 742 @@ -8677,7 +8677,7 @@
Returns:
-

+

<static> HSVtoRGB(h, s, v [, out])

@@ -8893,7 +8893,7 @@
Parameters:
Source:
- src/utils/Color.js line 359 + src/utils/Color.js line 359 @@ -8946,7 +8946,7 @@
Returns:
-

+

<static> hueToColor(p, q, t)

@@ -9100,7 +9100,7 @@
Parameters:
Source:
- src/utils/Color.js line 428 + src/utils/Color.js line 428 @@ -9153,7 +9153,7 @@
Returns:
-

+

<static> interpolateColor(color1, color2, steps, currentStep, alpha)

@@ -9354,7 +9354,7 @@
Parameters:
Source:
- src/utils/Color.js line 792 + src/utils/Color.js line 792 @@ -9407,7 +9407,7 @@
Returns:
-

+

<static> interpolateColorWithRGB(color, r, g, b, steps, currentStep)

@@ -9632,7 +9632,7 @@
Parameters:
Source:
- src/utils/Color.js line 818 + src/utils/Color.js line 818 @@ -9685,7 +9685,7 @@
Returns:
-

+

<static> interpolateRGB(r1, g1, b1, r2, g2, b2, steps, currentStep)

@@ -9958,7 +9958,7 @@
Parameters:
Source:
- src/utils/Color.js line 842 + src/utils/Color.js line 842 @@ -10011,7 +10011,7 @@
Returns:
-

+

<static> packPixel(r, g, b, a)

@@ -10196,7 +10196,7 @@
Parameters:
Source:
- src/utils/Color.js line 14 + src/utils/Color.js line 14 @@ -10249,7 +10249,7 @@
Returns:
-

+

<static> RGBArrayToHex(rgb)

@@ -10354,7 +10354,7 @@
Parameters:
Source:
- src/utils/Color.js line 179 + src/utils/Color.js line 179 @@ -10407,7 +10407,7 @@
Returns:
-

+

<static> RGBtoHSL(r, g, b [, out])

@@ -10623,7 +10623,7 @@
Parameters:
Source:
- src/utils/Color.js line 193 + src/utils/Color.js line 193 @@ -10676,7 +10676,7 @@
Returns:
-

+

<static> RGBtoHSV(r, g, b [, out])

@@ -10892,7 +10892,7 @@
Parameters:
Source:
- src/utils/Color.js line 303 + src/utils/Color.js line 303 @@ -10945,7 +10945,7 @@
Returns:
-

+

<static> RGBtoString(r, g, b [, a] [, prefix])

@@ -11219,7 +11219,7 @@
Parameters:
Source:
- src/utils/Color.js line 548 + src/utils/Color.js line 548 @@ -11272,7 +11272,7 @@
Returns:
-

+

<static> toABGR(r, g, b, a)

@@ -11449,7 +11449,7 @@
Parameters:
Source:
- src/utils/Color.js line 144 + src/utils/Color.js line 144 @@ -11502,7 +11502,7 @@
Returns:
-

+

<static> toRGBA(r, g, b, a)

@@ -11686,7 +11686,7 @@
Parameters:
Source:
- src/utils/Color.js line 126 + src/utils/Color.js line 126 @@ -11739,7 +11739,7 @@
Returns:
-

+

<static> unpackPixel(rgba [, out] [, hsl] [, hsv])

@@ -11991,7 +11991,7 @@
Parameters:
Source:
- src/utils/Color.js line 40 + src/utils/Color.js line 40 @@ -12044,7 +12044,7 @@
Returns:
-

+

<static> updateColor(out)

@@ -12149,7 +12149,7 @@
Parameters:
Source:
- src/utils/Color.js line 497 + src/utils/Color.js line 497 @@ -12202,7 +12202,7 @@
Returns:
-

+

<static> valueToColor(value [, out])

@@ -12356,7 +12356,7 @@
Parameters:
Source:
- src/utils/Color.js line 673 + src/utils/Color.js line 673 @@ -12409,7 +12409,7 @@
Returns:
-

+

<static> webToColor(web [, out])

@@ -12559,7 +12559,7 @@
Parameters:
Source:
- src/utils/Color.js line 640 + src/utils/Color.js line 640 @@ -12626,9 +12626,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -12645,9 +12645,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -12659,7 +12659,7 @@
Returns:
- +
@@ -12674,7 +12674,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Angle.html b/docs/Phaser.Component.Angle.html index 155db6eb8..3a8844410 100644 --- a/docs/Phaser.Component.Angle.html +++ b/docs/Phaser.Component.Angle.html @@ -6,7 +6,7 @@ Phaser CE Class: Angle - + @@ -125,7 +125,7 @@

-

+

new Angle()

@@ -180,7 +180,7 @@

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

Members

-
-

angle :number

- +
+

+ angle : number + +

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -354,7 +356,7 @@
Type:
- +
@@ -369,7 +371,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Animation.html b/docs/Phaser.Component.Animation.html index f90908f22..35ead2a27 100644 --- a/docs/Phaser.Component.Animation.html +++ b/docs/Phaser.Component.Animation.html @@ -6,7 +6,7 @@ Phaser CE Class: Animation - + @@ -125,7 +125,7 @@

-

+

new Animation()

@@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Animation.js line 12 + src/gameobjects/components/Animation.js line 12 @@ -227,7 +227,7 @@

Methods

-

+

play(name [, frameRate] [, loop] [, killOnComplete])

@@ -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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -557,9 +557,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -571,7 +571,7 @@
Returns:
- +
@@ -586,7 +586,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.AutoCull.html b/docs/Phaser.Component.AutoCull.html index 0b896cc52..61044360e 100644 --- a/docs/Phaser.Component.AutoCull.html +++ b/docs/Phaser.Component.AutoCull.html @@ -6,7 +6,7 @@ Phaser CE Class: AutoCull - + @@ -125,7 +125,7 @@

-

+

new AutoCull()

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

Source:
- src/gameobjects/components/AutoCull.js line 13 + src/gameobjects/components/AutoCull.js line 13 @@ -225,9 +225,11 @@

Members

-
-

autoCull :boolean

- +
+

+ autoCull : boolean + +

@@ -288,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -304,9 +306,11 @@
Type:
-
-

<readonly> inCamera :boolean

- +
+

+ <readonly> inCamera : boolean + +

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -416,9 +420,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -430,7 +434,7 @@
Type:
- +
@@ -445,7 +449,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Bounds.html b/docs/Phaser.Component.Bounds.html index fde3cbee2..402cb4b42 100644 --- a/docs/Phaser.Component.Bounds.html +++ b/docs/Phaser.Component.Bounds.html @@ -6,7 +6,7 @@ Phaser CE Class: Bounds - + @@ -125,7 +125,7 @@

-

+

new Bounds()

@@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Bounds.js line 12 + src/gameobjects/components/Bounds.js line 12 @@ -224,9 +224,11 @@

Members

-
-

bottom :number

- +
+

+ bottom : number + +

@@ -284,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -300,9 +302,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -360,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -376,9 +380,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -436,7 +442,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -452,9 +458,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -512,7 +520,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -528,9 +536,11 @@
Type:
-
-

<readonly> offsetX :number

- +
+

+ <readonly> offsetX : number + +

@@ -589,7 +599,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -605,9 +615,11 @@
Type:
-
-

<readonly> offsetY :number

- +
+

+ <readonly> offsetY : number + +

@@ -666,7 +678,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -682,9 +694,11 @@
Type:
-
+
@@ -742,7 +756,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -758,9 +772,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -818,7 +834,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -841,7 +857,7 @@

Methods

-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -1122,7 +1138,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -1175,7 +1191,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -1457,7 +1473,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -1524,9 +1540,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1543,9 +1559,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1557,7 +1573,7 @@
Returns:
- +
@@ -1572,7 +1588,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.BringToTop.html b/docs/Phaser.Component.BringToTop.html index 08ccb513b..8b9adfdff 100644 --- a/docs/Phaser.Component.BringToTop.html +++ b/docs/Phaser.Component.BringToTop.html @@ -6,7 +6,7 @@ Phaser CE Class: BringToTop - + @@ -125,7 +125,7 @@

-

+

new BringToTop()

@@ -180,7 +180,7 @@

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

Methods

-

+

bringToTop()

@@ -285,7 +285,7 @@

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

+

moveDown()

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

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -449,7 +449,7 @@
Returns:
-

+

moveUp()

@@ -507,7 +507,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -560,7 +560,7 @@
Returns:
-

+

sendToBack()

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

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -704,9 +704,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -718,7 +718,7 @@
Returns:
- +
@@ -733,7 +733,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Core.html b/docs/Phaser.Component.Core.html index 189d4b5e4..49dd6b264 100644 --- a/docs/Phaser.Component.Core.html +++ b/docs/Phaser.Component.Core.html @@ -6,7 +6,7 @@ Phaser CE Class: Core - + @@ -125,7 +125,7 @@

-

+

new Core()

@@ -180,7 +180,7 @@

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

Members

-
-

<static> skipTypeChecks :boolean

- +
+

+ <static> skipTypeChecks : boolean + +

@@ -283,7 +285,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 19 + src/gameobjects/components/Core.js line 19 @@ -299,9 +301,11 @@
Type:
-
-

animations :Phaser.AnimationManager

- +
+

+ animations : Phaser.AnimationManager + +

@@ -359,7 +363,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -382,9 +386,11 @@
Type:
-
-

<protected> components :object

- +
+

+ <protected> components : object + +

@@ -441,7 +447,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -457,9 +463,11 @@
Type:
-
-

data :Object

- +
+

+ data : Object + +

@@ -526,7 +534,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -542,9 +550,11 @@
Type:
-
-

debug :boolean

- +
+

+ debug : boolean + +

@@ -601,7 +611,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -617,9 +627,11 @@
Type:
-
-

events :Phaser.Events

- +
+

+ events : Phaser.Events + +

@@ -677,7 +689,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -700,9 +712,11 @@
Type:
-
-

exists :boolean

- +
+

+ exists : boolean + +

@@ -764,7 +778,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -780,9 +794,11 @@
Type:
-
-

<readonly> fresh :boolean

- +
+

+ <readonly> fresh : boolean + +

@@ -840,7 +856,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -856,9 +872,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -915,7 +933,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -931,9 +949,11 @@
Type:
-
-

key :string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture

- +
+

+ key : string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture + +

@@ -1006,7 +1026,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -1022,9 +1042,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -1082,7 +1104,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -1098,9 +1120,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -1160,7 +1184,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -1176,9 +1200,11 @@
Type:
-
-

<readonly> previousPosition :Phaser.Point

- +
+

+ <readonly> previousPosition : Phaser.Point + +

@@ -1235,7 +1261,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -1251,9 +1277,11 @@
Type:
-
-

<readonly> previousRotation :number

- +
+

+ <readonly> previousRotation : number + +

@@ -1310,7 +1338,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -1326,9 +1354,11 @@
Type:
-
-

<readonly> renderOrderID :number

- +
+

+ <readonly> renderOrderID : number + +

@@ -1386,7 +1416,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -1402,9 +1432,11 @@
Type:
-
-

world :Phaser.Point

- +
+

+ world : Phaser.Point + +

@@ -1463,7 +1495,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -1479,9 +1511,11 @@
Type:
-
-

<readonly> z :number

- +
+

+ <readonly> z : number + +

@@ -1541,7 +1575,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -1564,7 +1598,7 @@

Methods

-

+

<protected, static> init()

@@ -1620,7 +1654,7 @@

Source:
- src/gameobjects/components/Core.js line 61 + src/gameobjects/components/Core.js line 61 @@ -1649,7 +1683,7 @@

-

+

<protected, static> install()

@@ -1705,7 +1739,7 @@

Source:
- src/gameobjects/components/Core.js line 29 + src/gameobjects/components/Core.js line 29 @@ -1734,7 +1768,7 @@

-

+

<protected> postUpdate()

@@ -1789,7 +1823,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -1818,7 +1852,7 @@

-

+

<protected> preUpdateChildren()

@@ -1873,7 +1907,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -1902,7 +1936,7 @@

-

+

update()

@@ -1959,7 +1993,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -2002,9 +2036,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2021,9 +2055,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2035,7 +2069,7 @@

- +
@@ -2050,7 +2084,7 @@

- + diff --git a/docs/Phaser.Component.Crop.html b/docs/Phaser.Component.Crop.html index eb0296808..1f9292ccd 100644 --- a/docs/Phaser.Component.Crop.html +++ b/docs/Phaser.Component.Crop.html @@ -6,7 +6,7 @@ Phaser CE Class: Crop - + @@ -125,7 +125,7 @@

-

+

new Crop()

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

Source:
- src/gameobjects/components/Crop.js line 13 + src/gameobjects/components/Crop.js line 13 @@ -225,9 +225,11 @@

Members

-
-

cropRect :Phaser.Rectangle

- +
+

+ cropRect : Phaser.Rectangle + +

@@ -286,7 +288,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -309,7 +311,7 @@

Methods

-

+

crop(rect [, copy])

@@ -477,7 +479,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -506,7 +508,7 @@
Parameters:
-

+

updateCrop()

@@ -562,7 +564,7 @@

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -638,7 +640,7 @@

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

- + diff --git a/docs/Phaser.Component.Delta.html b/docs/Phaser.Component.Delta.html index cb3d1794a..5a170dddd 100644 --- a/docs/Phaser.Component.Delta.html +++ b/docs/Phaser.Component.Delta.html @@ -6,7 +6,7 @@ Phaser CE Class: Delta - + @@ -125,7 +125,7 @@

-

+

new Delta()

@@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Delta.js line 12 + src/gameobjects/components/Delta.js line 12 @@ -224,9 +224,11 @@

Members

-
-

<readonly> deltaX :number

- +
+

+ <readonly> deltaX : number + +

@@ -284,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -300,9 +302,11 @@
Type:
-
-

<readonly> deltaY :number

- +
+

+ <readonly> deltaY : number + +

@@ -360,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -376,9 +380,11 @@
Type:
-
-

<readonly> deltaZ :number

- +
+

+ <readonly> deltaZ : number + +

@@ -435,7 +441,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -468,9 +474,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -487,9 +493,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -501,7 +507,7 @@
Type:
- +
@@ -516,7 +522,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Destroy.html b/docs/Phaser.Component.Destroy.html index ba3826f72..0c7fa3365 100644 --- a/docs/Phaser.Component.Destroy.html +++ b/docs/Phaser.Component.Destroy.html @@ -6,7 +6,7 @@ Phaser CE Class: Destroy - + @@ -125,7 +125,7 @@

-

+

new Destroy()

@@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Destroy.js line 12 + src/gameobjects/components/Destroy.js line 12 @@ -224,9 +224,11 @@

Members

-
-

<readonly> destroyPhase :boolean

- +
+

+ <readonly> destroyPhase : boolean + +

@@ -284,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -307,7 +309,7 @@

Methods

-

+

destroy( [destroyChildren] [, destroyTexture])

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -552,7 +554,7 @@
Parameters:
- +
@@ -567,7 +569,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.FixedToCamera.html b/docs/Phaser.Component.FixedToCamera.html index c9418e531..abbb669cf 100644 --- a/docs/Phaser.Component.FixedToCamera.html +++ b/docs/Phaser.Component.FixedToCamera.html @@ -6,7 +6,7 @@ Phaser CE Class: FixedToCamera - + @@ -125,7 +125,7 @@

-

+

new FixedToCamera()

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

Source:
- src/gameobjects/components/FixedToCamera.js line 13 + src/gameobjects/components/FixedToCamera.js line 13 @@ -225,9 +225,11 @@

Members

-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -285,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -301,9 +303,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -367,7 +371,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -390,7 +394,7 @@

Methods

-

+

<static> postUpdate()

@@ -446,7 +450,7 @@

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -508,9 +512,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -522,7 +526,7 @@

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

- + diff --git a/docs/Phaser.Component.Health.html b/docs/Phaser.Component.Health.html index d170b3d4c..342867f71 100644 --- a/docs/Phaser.Component.Health.html +++ b/docs/Phaser.Component.Health.html @@ -6,7 +6,7 @@ Phaser CE Class: Health - + @@ -125,7 +125,7 @@

-

+

new Health()

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

Source:
- src/gameobjects/components/Health.js line 14 + src/gameobjects/components/Health.js line 14 @@ -226,9 +226,11 @@

Members

-
-

health :number

- +
+

+ health : number + +

@@ -293,7 +295,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -309,9 +311,11 @@
Type:
-
-

maxHealth :number

- +
+

+ maxHealth : number + +

@@ -376,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -399,7 +403,7 @@

Methods

-

+

damage(amount)

@@ -505,7 +509,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -558,7 +562,7 @@
Returns:
-

+

heal(amount)

@@ -663,7 +667,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -716,7 +720,7 @@
Returns:
-

+

setHealth(amount)

@@ -822,7 +826,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -889,9 +893,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -908,9 +912,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -922,7 +926,7 @@
Returns:
- +
@@ -937,7 +941,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.InCamera.html b/docs/Phaser.Component.InCamera.html index 3ae911807..c014e751d 100644 --- a/docs/Phaser.Component.InCamera.html +++ b/docs/Phaser.Component.InCamera.html @@ -6,7 +6,7 @@ Phaser CE Class: InCamera - + @@ -125,7 +125,7 @@

-

+

new InCamera()

@@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/InCamera.js line 12 + src/gameobjects/components/InCamera.js line 12 @@ -224,9 +224,11 @@

Members

-
-

<readonly> inCamera :boolean

- +
+

+ <readonly> inCamera : boolean + +

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -351,7 +353,7 @@
Type:
- +
@@ -366,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Component.InWorld.html b/docs/Phaser.Component.InWorld.html index a9c80d14b..0236a3dd8 100644 --- a/docs/Phaser.Component.InWorld.html +++ b/docs/Phaser.Component.InWorld.html @@ -6,7 +6,7 @@ Phaser CE Class: InWorld - + @@ -125,7 +125,7 @@

-

+

new InWorld()

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

Source:
- src/gameobjects/components/InWorld.js line 14 + src/gameobjects/components/InWorld.js line 14 @@ -226,9 +226,11 @@

Members

-
-

checkWorldBounds :boolean

- +
+

+ checkWorldBounds : boolean + +

@@ -291,7 +293,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -307,9 +309,11 @@
Type:
-
-

<readonly> inWorld :boolean

- +
+

+ <readonly> inWorld : boolean + +

@@ -366,7 +370,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -382,9 +386,11 @@
Type:
-
-

outOfBoundsKill :boolean

- +
+

+ outOfBoundsKill : boolean + +

@@ -441,7 +447,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -457,9 +463,11 @@
Type:
-
-

outOfCameraBoundsKill :boolean

- +
+

+ outOfCameraBoundsKill : boolean + +

@@ -517,7 +525,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -540,7 +548,7 @@

Methods

-

+

<static> preUpdate()

@@ -596,7 +604,7 @@

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -658,9 +666,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -672,7 +680,7 @@

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

- + diff --git a/docs/Phaser.Component.InputEnabled.html b/docs/Phaser.Component.InputEnabled.html index ca29bf366..7e7fc81bf 100644 --- a/docs/Phaser.Component.InputEnabled.html +++ b/docs/Phaser.Component.InputEnabled.html @@ -6,7 +6,7 @@ Phaser CE Class: InputEnabled - + @@ -125,7 +125,7 @@

-

+

new InputEnabled()

@@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/InputEnabled.js line 12 + src/gameobjects/components/InputEnabled.js line 12 @@ -224,9 +224,11 @@

Members

-
-

input :Phaser.InputHandler|null

- +
+

+ input : Phaser.InputHandler | null + +

@@ -288,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -304,9 +306,11 @@
Type:
-
-

inputEnabled :boolean

- +
+

+ inputEnabled : boolean + +

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -422,9 +426,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -436,7 +440,7 @@
Type:
- +
@@ -451,7 +455,7 @@
Type:
- + diff --git a/docs/Phaser.Component.LifeSpan.html b/docs/Phaser.Component.LifeSpan.html index c3c4b7104..784bbdccb 100644 --- a/docs/Phaser.Component.LifeSpan.html +++ b/docs/Phaser.Component.LifeSpan.html @@ -6,7 +6,7 @@ Phaser CE Class: LifeSpan - + @@ -125,7 +125,7 @@

-

+

new LifeSpan()

@@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 12 + src/gameobjects/components/LifeSpan.js line 12 @@ -224,9 +224,11 @@

Members

-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -294,7 +296,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -310,9 +312,11 @@
Type:
-
-

lifespan :number

- +
+

+ lifespan : number + +

@@ -373,7 +377,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -396,7 +400,7 @@

Methods

-

+

<static> preUpdate()

@@ -452,7 +456,7 @@

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

-

+

kill()

@@ -540,7 +544,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -593,7 +597,7 @@
Returns:
-

+

revive( [health])

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -806,9 +810,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -820,7 +824,7 @@
Returns:
- +
@@ -835,7 +839,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.LoadTexture.html b/docs/Phaser.Component.LoadTexture.html index 9f60bf7c7..c4e1bd946 100644 --- a/docs/Phaser.Component.LoadTexture.html +++ b/docs/Phaser.Component.LoadTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: LoadTexture - + @@ -125,7 +125,7 @@

-

+

new LoadTexture()

@@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 12 + src/gameobjects/components/LoadTexture.js line 12 @@ -224,9 +224,11 @@

Members

-
-

frame :integer

- +
+

+ frame : integer + +

@@ -288,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -304,9 +306,11 @@
Type:
-
-

frameName :string

- +
+

+ frameName : string + +

@@ -368,7 +372,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -391,7 +395,7 @@

Methods

-

+

loadTexture(key [, frame] [, stopAnimation])

@@ -614,7 +618,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -643,7 +647,7 @@
Parameters:
-

+

resetFrame()

@@ -698,7 +702,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -727,7 +731,7 @@

-

+

resizeFrame(parent, width, height)

@@ -882,7 +886,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -911,7 +915,7 @@
Parameters:
-

+

setFrame(frame)

@@ -1017,7 +1021,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -1060,9 +1064,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1079,9 +1083,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1093,7 +1097,7 @@
Parameters:
- +
@@ -1108,7 +1112,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Overlap.html b/docs/Phaser.Component.Overlap.html index 5b6681355..1a53fadff 100644 --- a/docs/Phaser.Component.Overlap.html +++ b/docs/Phaser.Component.Overlap.html @@ -6,7 +6,7 @@ Phaser CE Class: Overlap - + @@ -125,7 +125,7 @@

-

+

new Overlap()

@@ -180,7 +180,7 @@

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

Methods

-

+

overlap(displayObject)

@@ -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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -434,9 +434,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -448,7 +448,7 @@
Returns:
- +
@@ -463,7 +463,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.PhysicsBody.html b/docs/Phaser.Component.PhysicsBody.html index 84be1e7b9..95e3878c2 100644 --- a/docs/Phaser.Component.PhysicsBody.html +++ b/docs/Phaser.Component.PhysicsBody.html @@ -6,7 +6,7 @@ Phaser CE Class: PhysicsBody - + @@ -125,7 +125,7 @@

-

+

new PhysicsBody()

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

Source:
- src/gameobjects/components/PhysicsBody.js line 13 + src/gameobjects/components/PhysicsBody.js line 13 @@ -225,9 +225,11 @@

Members

-
-

body :Phaser.Physics.Arcade.Body|Phaser.Physics.P2.Body|Phaser.Physics.Ninja.Body|null

- +
+

+ body : Phaser.Physics.Arcade.Body | Phaser.Physics.P2.Body | Phaser.Physics.Ninja.Body | null + +

@@ -301,7 +303,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -317,9 +319,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -376,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 100 + src/gameobjects/components/PhysicsBody.js line 100 @@ -392,9 +396,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -451,7 +457,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 126 + src/gameobjects/components/PhysicsBody.js line 126 @@ -474,7 +480,7 @@

Methods

-

+

<static> postUpdate()

@@ -530,7 +536,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 63 + src/gameobjects/components/PhysicsBody.js line 63 @@ -559,7 +565,7 @@

-

+

<static> preUpdate()

@@ -615,7 +621,7 @@

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -677,9 +683,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -691,7 +697,7 @@

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

- + diff --git a/docs/Phaser.Component.Reset.html b/docs/Phaser.Component.Reset.html index a2dd9cae7..3b09cabc3 100644 --- a/docs/Phaser.Component.Reset.html +++ b/docs/Phaser.Component.Reset.html @@ -6,7 +6,7 @@ Phaser CE Class: Reset - + @@ -125,7 +125,7 @@

-

+

new Reset()

@@ -180,7 +180,7 @@

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

Methods

-

+

reset(x, y [, health])

@@ -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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -514,9 +514,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -528,7 +528,7 @@
Returns:
- +
@@ -543,7 +543,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.ScaleMinMax.html b/docs/Phaser.Component.ScaleMinMax.html index 341ddc863..1734a652f 100644 --- a/docs/Phaser.Component.ScaleMinMax.html +++ b/docs/Phaser.Component.ScaleMinMax.html @@ -6,7 +6,7 @@ Phaser CE Class: ScaleMinMax - + @@ -125,7 +125,7 @@

-

+

new ScaleMinMax()

@@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/ScaleMinMax.js line 12 + src/gameobjects/components/ScaleMinMax.js line 12 @@ -224,9 +224,11 @@

Members

-
-

scaleMax :Phaser.Point

- +
+

+ scaleMax : Phaser.Point + +

@@ -285,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -301,9 +303,11 @@
Type:
-
-

scaleMin :Phaser.Point

- +
+

+ scaleMin : Phaser.Point + +

@@ -362,7 +366,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -378,9 +382,11 @@
Type:
-
-

transformCallback :function

- +
+

+ transformCallback : function + +

@@ -437,7 +443,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -453,9 +459,11 @@
Type:
-
-

transformCallbackContext :object

- +
+

+ transformCallbackContext : object + +

@@ -512,7 +520,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -535,7 +543,7 @@

Methods

-

+

setScaleMinMax(minX, minY, maxX, maxY)

@@ -734,7 +742,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -777,9 +785,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -810,7 +818,7 @@
Parameters:
- +
@@ -825,7 +833,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Smoothed.html b/docs/Phaser.Component.Smoothed.html index da2e99236..3870c9cc6 100644 --- a/docs/Phaser.Component.Smoothed.html +++ b/docs/Phaser.Component.Smoothed.html @@ -6,7 +6,7 @@ Phaser CE Class: Smoothed - + @@ -125,7 +125,7 @@

-

+

new Smoothed()

@@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Smoothed.js line 12 + src/gameobjects/components/Smoothed.js line 12 @@ -224,9 +224,11 @@

Members

-
-

smoothed :boolean

- +
+

+ smoothed : boolean + +

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

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -351,7 +353,7 @@
Type:
- +
@@ -366,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Create.html b/docs/Phaser.Create.html index f92f69427..29e618b22 100644 --- a/docs/Phaser.Create.html +++ b/docs/Phaser.Create.html @@ -6,7 +6,7 @@ Phaser CE Class: Create - + @@ -125,7 +125,7 @@

-

+

new Create(game)

@@ -233,7 +233,7 @@
Parameters:
Source:
- src/core/Create.js line 18 + src/core/Create.js line 18 @@ -277,9 +277,11 @@

Members

-
-

<static, constant> PALETTE_ARNE :number

- +
+

+ <static, constant> PALETTE_ARNE : number + +

@@ -336,7 +338,7 @@
Type:
Source:
- src/core/Create.js line 58 + src/core/Create.js line 58 @@ -352,9 +354,11 @@
Type:
-
-

<static, constant> PALETTE_C64 :number

- +
+

+ <static, constant> PALETTE_C64 : number + +

@@ -411,7 +415,7 @@
Type:
Source:
- src/core/Create.js line 79 + src/core/Create.js line 79 @@ -427,9 +431,11 @@
Type:
-
-

<static, constant> PALETTE_CGA :number

- +
+

+ <static, constant> PALETTE_CGA : number + +

@@ -486,7 +492,7 @@
Type:
Source:
- src/core/Create.js line 72 + src/core/Create.js line 72 @@ -502,9 +508,11 @@
Type:
-
-

<static, constant> PALETTE_JAPANESE_MACHINE :number

- +
+

+ <static, constant> PALETTE_JAPANESE_MACHINE : number + +

@@ -561,7 +569,7 @@
Type:
Source:
- src/core/Create.js line 86 + src/core/Create.js line 86 @@ -577,9 +585,11 @@
Type:
-
-

<static, constant> PALETTE_JMP :number

- +
+

+ <static, constant> PALETTE_JMP : number + +

@@ -636,7 +646,7 @@
Type:
Source:
- src/core/Create.js line 65 + src/core/Create.js line 65 @@ -652,9 +662,11 @@
Type:
-
-

bmd :Phaser.BitmapData

- +
+

+ bmd : Phaser.BitmapData + +

@@ -711,7 +723,7 @@
Type:
Source:
- src/core/Create.js line 28 + src/core/Create.js line 28 @@ -727,9 +739,11 @@
Type:
-
-

canvas :HTMLCanvasElement

- +
+

+ canvas : HTMLCanvasElement + +

@@ -786,7 +800,7 @@
Type:
Source:
- src/core/Create.js line 33 + src/core/Create.js line 33 @@ -802,9 +816,11 @@
Type:
-
-

ctx

- +
+

+ ctx + +

@@ -899,7 +915,7 @@
Properties:
Source:
- src/core/Create.js line 38 + src/core/Create.js line 38 @@ -915,9 +931,11 @@
Properties:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -974,7 +992,7 @@
Type:
Source:
- src/core/Create.js line 23 + src/core/Create.js line 23 @@ -990,9 +1008,11 @@
Type:
-
-

palettes :array

- +
+

+ palettes : array + +

@@ -1049,7 +1069,7 @@
Type:
Source:
- src/core/Create.js line 43 + src/core/Create.js line 43 @@ -1072,7 +1092,7 @@

Methods

-

+

copy( [dest] [, x] [, y] [, width] [, height] [, blendMode] [, roundPx])

@@ -1431,7 +1451,7 @@
Parameters:
Source:
- src/core/Create.js line 227 + src/core/Create.js line 227 @@ -1486,7 +1506,7 @@
Returns:
-

+

grid(key, width, height, cellWidth, cellHeight, color [, generateTexture] [, callback] [, callbackContext])

@@ -1903,7 +1923,7 @@
Parameters:
Source:
- src/core/Create.js line 168 + src/core/Create.js line 168 @@ -1959,7 +1979,7 @@
Returns:
-

+

texture(key, data [, pixelWidth] [, pixelHeight] [, palette] [, generateTexture] [, callback] [, callbackContext])

@@ -2366,7 +2386,7 @@
Parameters:
Source:
- src/core/Create.js line 90 + src/core/Create.js line 90 @@ -2436,9 +2456,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2469,7 +2489,7 @@
Returns:
- +
@@ -2484,7 +2504,7 @@
Returns:
- + diff --git a/docs/Phaser.Creature.html b/docs/Phaser.Creature.html index ecc59be00..c66ed5134 100644 --- a/docs/Phaser.Creature.html +++ b/docs/Phaser.Creature.html @@ -6,7 +6,7 @@ Phaser CE Class: Creature - + @@ -125,7 +125,7 @@

-

+

new Creature(game, x, y, key, mesh [, animation])

@@ -440,7 +440,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 176 + src/gameobjects/Creature.js line 176 @@ -513,9 +513,11 @@

Members

-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -592,7 +594,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -608,9 +610,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -672,7 +676,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 823 + src/gameobjects/Creature.js line 823 @@ -688,9 +692,11 @@
Type:
-
-

anchorX :number

- +
+

+ anchorX : number + +

@@ -747,7 +753,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 710 + src/gameobjects/Creature.js line 710 @@ -763,9 +769,11 @@
Type:
-
-

anchorY :number

- +
+

+ anchorY : number + +

@@ -822,7 +830,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 757 + src/gameobjects/Creature.js line 757 @@ -838,9 +846,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -911,7 +921,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -927,9 +937,11 @@
Type:
-
-

animation :CreatureAnimation

- +
+

+ animation : CreatureAnimation + +

@@ -986,7 +998,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 208 + src/gameobjects/Creature.js line 208 @@ -1002,9 +1014,11 @@
Type:
-
-

animations :Phaser.AnimationManager

- +
+

+ animations : Phaser.AnimationManager + +

@@ -1071,7 +1085,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1094,9 +1108,11 @@
Type:
-
-

autoCull :boolean

- +
+

+ autoCull : boolean + +

@@ -1166,7 +1182,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1182,9 +1198,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -1257,7 +1275,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1273,9 +1291,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -1342,7 +1362,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1358,9 +1378,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1426,7 +1448,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1442,9 +1464,11 @@
Type:
-
-

<protected> colors :Uint16Array

- +
+

+ <protected> colors : Uint16Array + +

@@ -1501,7 +1525,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 281 + src/gameobjects/Creature.js line 281 @@ -1517,9 +1541,11 @@
Type:
-
-

<protected> components :object

- +
+

+ <protected> components : object + +

@@ -1585,7 +1611,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1601,9 +1627,11 @@
Type:
-
-

<protected> creatureBoundsMax :Phaser.Point

- +
+

+ <protected> creatureBoundsMax : Phaser.Point + +

@@ -1660,7 +1688,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 250 + src/gameobjects/Creature.js line 250 @@ -1676,9 +1704,11 @@
Type:
-
-

<protected> creatureBoundsMin :Phaser.Point

- +
+

+ <protected> creatureBoundsMin : Phaser.Point + +

@@ -1735,7 +1765,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 244 + src/gameobjects/Creature.js line 244 @@ -1751,9 +1781,11 @@
Type:
-
-

data :Object

- +
+

+ data : Object + +

@@ -1829,7 +1861,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -1845,9 +1877,11 @@
Type:
-
-

debug :boolean

- +
+

+ debug : boolean + +

@@ -1913,7 +1947,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -1929,9 +1963,11 @@
Type:
-
-

<readonly> destroyPhase :boolean

- +
+

+ <readonly> destroyPhase : boolean + +

@@ -1998,7 +2034,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2014,9 +2050,11 @@
Type:
-
-

events :Phaser.Events

- +
+

+ events : Phaser.Events + +

@@ -2083,7 +2121,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2106,9 +2144,11 @@
Type:
-
-

exists :boolean

- +
+

+ exists : boolean + +

@@ -2179,7 +2219,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2195,9 +2235,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -2263,7 +2305,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2279,9 +2321,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -2352,7 +2396,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2368,9 +2412,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -2443,7 +2489,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2459,9 +2505,11 @@
Type:
-
-

<readonly> fresh :boolean

- +
+

+ <readonly> fresh : boolean + +

@@ -2528,7 +2576,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2544,9 +2592,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -2608,7 +2658,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 181 + src/gameobjects/Creature.js line 181 @@ -2624,9 +2674,11 @@
Type:
-
-

height :number

- +
+

+ height : number + +

@@ -2683,7 +2735,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 657 + src/gameobjects/Creature.js line 657 @@ -2699,9 +2751,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -2777,7 +2831,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2793,9 +2847,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -2863,7 +2919,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2879,9 +2935,11 @@
Type:
-
-

<readonly> inCamera :boolean

- +
+

+ <readonly> inCamera : boolean + +

@@ -2948,7 +3006,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -2964,9 +3022,11 @@
Type:
-
-

<protected> indices :Uint16Array

- +
+

+ <protected> indices : Uint16Array + +

@@ -3019,7 +3079,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 270 + src/gameobjects/Creature.js line 270 @@ -3035,9 +3095,11 @@
Type:
-
-

input :Phaser.InputHandler|null

- +
+

+ input : Phaser.InputHandler | null + +

@@ -3108,7 +3170,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3124,9 +3186,11 @@
Type:
-
-

inputEnabled :boolean

- +
+

+ inputEnabled : boolean + +

@@ -3199,7 +3263,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3215,9 +3279,11 @@
Type:
-
-

isPlaying :boolean

- +
+

+ isPlaying : boolean + +

@@ -3274,7 +3340,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 617 + src/gameobjects/Creature.js line 617 @@ -3290,9 +3356,11 @@
Type:
-
-

key :string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture

- +
+

+ key : string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture + +

@@ -3374,7 +3442,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3390,9 +3458,11 @@
Type:
-
-

lifespan :number

- +
+

+ lifespan : number + +

@@ -3462,7 +3532,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -3478,9 +3548,11 @@
Type:
-
-

loop :boolean

- +
+

+ loop : boolean + +

@@ -3537,7 +3609,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 637 + src/gameobjects/Creature.js line 637 @@ -3553,9 +3625,11 @@
Type:
-
-

manager :CreatureManager

- +
+

+ manager : CreatureManager + +

@@ -3612,7 +3686,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 213 + src/gameobjects/Creature.js line 213 @@ -3628,9 +3702,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -3699,7 +3775,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3715,9 +3791,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -3784,7 +3862,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -3800,9 +3878,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -3871,7 +3951,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3887,9 +3967,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -3958,7 +4040,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -3974,9 +4056,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -4043,7 +4127,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4059,9 +4143,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -4129,7 +4215,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4145,9 +4231,11 @@
Type:
-
-

<readonly> previousPosition :Phaser.Point

- +
+

+ <readonly> previousPosition : Phaser.Point + +

@@ -4213,7 +4301,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4229,9 +4317,11 @@
Type:
-
-

<readonly> previousRotation :number

- +
+

+ <readonly> previousRotation : number + +

@@ -4297,7 +4387,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -4313,9 +4403,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -4382,7 +4474,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4398,9 +4490,11 @@
Type:
-
-

<readonly> renderOrderID :number

- +
+

+ <readonly> renderOrderID : number + +

@@ -4467,7 +4561,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -4483,9 +4577,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -4554,7 +4650,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -4570,9 +4666,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -4641,7 +4739,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4657,9 +4755,11 @@
Type:
-
-

texture :PIXI.Texture

- +
+

+ texture : PIXI.Texture + +

@@ -4716,7 +4816,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 233 + src/gameobjects/Creature.js line 233 @@ -4732,9 +4832,11 @@
Type:
-
-

timeDelta :number

- +
+

+ timeDelta : number + +

@@ -4798,7 +4900,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 219 + src/gameobjects/Creature.js line 219 @@ -4814,9 +4916,11 @@
Type:
-
-

tint :number

- +
+

+ tint : number + +

@@ -4873,7 +4977,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 804 + src/gameobjects/Creature.js line 804 @@ -4889,9 +4993,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -4948,7 +5054,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 189 + src/gameobjects/Creature.js line 189 @@ -4964,9 +5070,11 @@
Type:
-
-

<protected> uvs :Float32Array

- +
+

+ <protected> uvs : Float32Array + +

@@ -5023,7 +5131,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 264 + src/gameobjects/Creature.js line 264 @@ -5039,9 +5147,11 @@
Type:
-
-

<protected> vertices :Float32Array

- +
+

+ <protected> vertices : Float32Array + +

@@ -5098,7 +5208,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 258 + src/gameobjects/Creature.js line 258 @@ -5114,9 +5224,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -5194,7 +5306,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -5210,9 +5322,11 @@
Type:
-
-

width :number

- +
+

+ width : number + +

@@ -5269,7 +5383,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 683 + src/gameobjects/Creature.js line 683 @@ -5285,9 +5399,11 @@
Type:
-
-

world :Phaser.Point

- +
+

+ world : Phaser.Point + +

@@ -5355,7 +5471,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5371,9 +5487,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -5445,7 +5563,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5461,9 +5579,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -5534,7 +5654,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5550,9 +5670,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -5623,7 +5745,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5639,9 +5761,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -5712,7 +5836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5728,9 +5852,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -5801,7 +5927,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5817,9 +5943,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -5885,7 +6013,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5901,9 +6029,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -5970,7 +6100,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -5986,9 +6116,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -6055,7 +6187,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6071,9 +6203,11 @@
Type:
-
-

<readonly> z :number

- +
+

+ <readonly> z : number + +

@@ -6142,7 +6276,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -6165,7 +6299,7 @@

Methods

-

+

addChild(child)

@@ -6279,7 +6413,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6332,7 +6466,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -6470,7 +6604,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -6523,7 +6657,7 @@
Returns:
-

+

bringToTop()

@@ -6590,7 +6724,7 @@

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

+

contains(child)

@@ -6757,7 +6891,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -6806,7 +6940,7 @@
Returns:
-

+

createAllAnimations()

@@ -6857,7 +6991,7 @@

Source:
- src/gameobjects/Creature.js line 853 + src/gameobjects/Creature.js line 853 @@ -6886,7 +7020,7 @@

-

+

destroy()

@@ -6957,7 +7091,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -6986,7 +7120,7 @@

-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -7202,7 +7336,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -7257,7 +7391,7 @@
Returns:
-

+

getBounds( [targetCoordinateSpace])

@@ -7386,7 +7520,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -7439,7 +7573,7 @@
Returns:
-

+

getChildAt(index)

@@ -7553,7 +7687,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -7606,7 +7740,7 @@
Returns:
-

+

getChildIndex(child)

@@ -7720,7 +7854,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -7773,7 +7907,7 @@
Returns:
-

+

getLocalBounds()

@@ -7837,7 +7971,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -7890,7 +8024,7 @@
Returns:
-

+

kill()

@@ -7958,7 +8092,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -8011,7 +8145,7 @@
Returns:
-

+

moveDown()

@@ -8078,7 +8212,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -8131,7 +8265,7 @@
Returns:
-

+

moveUp()

@@ -8198,7 +8332,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -8251,7 +8385,7 @@
Returns:
-

+

play( [loop])

@@ -8376,7 +8510,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 587 + src/gameobjects/Creature.js line 587 @@ -8405,7 +8539,7 @@
Parameters:
-

+

<protected> postUpdate()

@@ -8469,7 +8603,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -8498,7 +8632,7 @@

-

+

preUpdate()

@@ -8558,7 +8692,7 @@

Source:
- src/gameobjects/Creature.js line 323 + src/gameobjects/Creature.js line 323 @@ -8587,7 +8721,7 @@

-

+

<protected> preUpdateChildren()

@@ -8651,7 +8785,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -8680,7 +8814,7 @@

-

+

removeChild(child)

@@ -8794,7 +8928,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -8847,7 +8981,7 @@
Returns:
-

+

removeChildAt(index)

@@ -8961,7 +9095,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -9014,7 +9148,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -9152,7 +9286,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -9181,7 +9315,7 @@
Parameters:
-

+

reset(x, y [, health])

@@ -9391,7 +9525,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -9444,7 +9578,7 @@
Returns:
-

+

revive( [health])

@@ -9580,7 +9714,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -9633,7 +9767,7 @@
Returns:
-

+

sendToBack()

@@ -9700,7 +9834,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -9753,7 +9887,7 @@
Returns:
-

+

setAnchorPointEnabled()

@@ -9808,7 +9942,7 @@

Source:
- src/gameobjects/Creature.js line 842 + src/gameobjects/Creature.js line 842 @@ -9837,7 +9971,7 @@

-

+

setAnimation(key)

@@ -9942,7 +10076,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 556 + src/gameobjects/Creature.js line 556 @@ -9971,7 +10105,7 @@
Parameters:
-

+

setAnimationPlaySpeed(speed)

@@ -10076,7 +10210,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 572 + src/gameobjects/Creature.js line 572 @@ -10105,7 +10239,7 @@
Parameters:
-

+

setChildIndex(child, index)

@@ -10243,7 +10377,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -10272,7 +10406,7 @@
Parameters:
-

+

stop()

@@ -10327,7 +10461,7 @@

Source:
- src/gameobjects/Creature.js line 605 + src/gameobjects/Creature.js line 605 @@ -10356,7 +10490,7 @@

-

+

swapChildren(child, child2)

@@ -10494,7 +10628,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -10523,7 +10657,7 @@
Parameters:
-

+

toGlobal(position)

@@ -10637,7 +10771,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -10692,7 +10826,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -10850,7 +10984,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -10905,7 +11039,7 @@
Returns:
-

+

update()

@@ -10971,7 +11105,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -11000,7 +11134,7 @@

-

+

updateCache()

@@ -11064,7 +11198,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -11119,7 +11253,7 @@
Returns:
-

+

updateTransform( [parent])

@@ -11253,7 +11387,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -11322,9 +11456,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -11341,9 +11475,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -11355,7 +11489,7 @@
Returns:
- +
@@ -11370,7 +11504,7 @@
Returns:
- + diff --git a/docs/Phaser.DOM.html b/docs/Phaser.DOM.html index 6ae780bd1..9acee3599 100644 --- a/docs/Phaser.DOM.html +++ b/docs/Phaser.DOM.html @@ -6,7 +6,7 @@ Phaser CE Class: DOM - + @@ -125,7 +125,7 @@

-

+

new DOM()

@@ -183,7 +183,7 @@

Source:
- src/utils/DOM.js line 18 + src/utils/DOM.js line 18 @@ -227,9 +227,11 @@

Members

-
-

<static, readonly> documentBounds :Phaser.Rectangle

- +
+

+ <static, readonly> documentBounds : Phaser.Rectangle + +

@@ -365,7 +367,7 @@
Properties:
Source:
- src/utils/DOM.js line 274 + src/utils/DOM.js line 274 @@ -381,9 +383,11 @@
Properties:
-
-

<static, readonly> layoutBounds :Phaser.Rectangle

- +
+

+ <static, readonly> layoutBounds : Phaser.Rectangle + +

@@ -525,7 +529,7 @@
Properties:
Source:
- src/utils/DOM.js line 260 + src/utils/DOM.js line 260 @@ -541,9 +545,11 @@
Properties:
-
-

<protected, static, readonly> scrollX :number

- +
+

+ <protected, static, readonly> scrollX : number + +

@@ -600,7 +606,7 @@
Type:
Source:
- src/utils/DOM.js line 289 + src/utils/DOM.js line 289 @@ -616,9 +622,11 @@
Type:
-
-

<protected, static, readonly> scrollY :number

- +
+

+ <protected, static, readonly> scrollY : number + +

@@ -675,7 +683,7 @@
Type:
Source:
- src/utils/DOM.js line 301 + src/utils/DOM.js line 301 @@ -691,9 +699,11 @@
Type:
-
-

<static, readonly> visualBounds :Phaser.Rectangle

- +
+

+ <static, readonly> visualBounds : Phaser.Rectangle + +

@@ -880,7 +890,7 @@
Properties:
Source:
- src/utils/DOM.js line 239 + src/utils/DOM.js line 239 @@ -903,7 +913,7 @@

Methods

-

+

<static> getAspectRatio( [object])

@@ -1031,7 +1041,7 @@
Parameters:
Source:
- src/utils/DOM.js line 100 + src/utils/DOM.js line 100 @@ -1084,7 +1094,7 @@
Returns:
-

+

<static> getBounds(element [, cushion])

@@ -1240,7 +1250,7 @@
Parameters:
Source:
- src/utils/DOM.js line 48 + src/utils/DOM.js line 48 @@ -1296,7 +1306,7 @@
Returns:
-

+

<static> getOffset(element [, point])

@@ -1446,7 +1456,7 @@
Parameters:
Source:
- src/utils/DOM.js line 20 + src/utils/DOM.js line 20 @@ -1501,7 +1511,7 @@
Returns:
-

+

<protected, static> getScreenOrientation( [primaryFallback])

@@ -1645,7 +1655,7 @@
Parameters:
Source:
- src/utils/DOM.js line 149 + src/utils/DOM.js line 149 @@ -1674,7 +1684,7 @@
Parameters:
-

+

<static> inLayoutViewport(element [, cushion])

@@ -1829,7 +1839,7 @@
Parameters:
Source:
- src/utils/DOM.js line 128 + src/utils/DOM.js line 128 @@ -1896,9 +1906,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1915,9 +1925,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1929,7 +1939,7 @@
Returns:
- +
@@ -1944,7 +1954,7 @@
Returns:
- + diff --git a/docs/Phaser.Device.html b/docs/Phaser.Device.html index d22992441..32f8951fa 100644 --- a/docs/Phaser.Device.html +++ b/docs/Phaser.Device.html @@ -6,7 +6,7 @@ Phaser CE Class: Device - + @@ -136,7 +136,7 @@

-

+

<protected> new Device()

@@ -191,7 +191,7 @@

Source:
- src/utils/Device.js line 30 + src/utils/Device.js line 30 @@ -235,9 +235,11 @@

Members

-
-

<static, nullable> onInitialized :Phaser.Signal

- +
+

+ <static, nullable> onInitialized : Phaser.Signal + +

@@ -298,7 +300,7 @@
Type:
Source:
- src/utils/Device.js line 561 + src/utils/Device.js line 561 @@ -314,9 +316,11 @@
Type:
-
-

android :boolean

- +
+

+ android : boolean + +

@@ -373,7 +377,7 @@
Type:
Source:
- src/utils/Device.js line 118 + src/utils/Device.js line 118 @@ -389,9 +393,11 @@
Type:
-
-

arora :boolean

- +
+

+ arora : boolean + +

@@ -448,7 +454,7 @@
Type:
Source:
- src/utils/Device.js line 274 + src/utils/Device.js line 274 @@ -464,9 +470,11 @@
Type:
-
-

audioData :boolean

- +
+

+ audioData : boolean + +

@@ -523,7 +531,7 @@
Type:
Source:
- src/utils/Device.js line 384 + src/utils/Device.js line 384 @@ -539,9 +547,11 @@
Type:
-
-

cancelFullscreen :string

- +
+

+ cancelFullscreen : string + +

@@ -598,7 +608,7 @@
Type:
Source:
- src/utils/Device.js line 535 + src/utils/Device.js line 535 @@ -614,9 +624,11 @@
Type:
-
-

canHandleAlpha :boolean

- +
+

+ canHandleAlpha : boolean + +

@@ -673,7 +685,7 @@
Type:
Source:
- src/utils/Device.js line 169 + src/utils/Device.js line 169 @@ -689,9 +701,11 @@
Type:
-
-

canUseMultiply :boolean

- +
+

+ canUseMultiply : boolean + +

@@ -749,7 +763,7 @@
Type:
Source:
- src/utils/Device.js line 179 + src/utils/Device.js line 179 @@ -765,9 +779,11 @@
Type:
-
-

canvas :boolean

- +
+

+ canvas : boolean + +

@@ -824,7 +840,7 @@
Type:
Source:
- src/utils/Device.js line 156 + src/utils/Device.js line 156 @@ -840,9 +856,11 @@
Type:
-
-

canvasBitBltShift :boolean

- +
+

+ canvasBitBltShift : boolean + +

@@ -899,7 +917,7 @@
Type:
Source:
- src/utils/Device.js line 162 + src/utils/Device.js line 162 @@ -915,9 +933,11 @@
Type:
-
-

chrome :boolean

- +
+

+ chrome : boolean + +

@@ -974,7 +994,7 @@
Type:
Source:
- src/utils/Device.js line 280 + src/utils/Device.js line 280 @@ -990,9 +1010,11 @@
Type:
-
-

chromeOS :boolean

- +
+

+ chromeOS : boolean + +

@@ -1049,7 +1071,7 @@
Type:
Source:
- src/utils/Device.js line 124 + src/utils/Device.js line 124 @@ -1065,9 +1087,11 @@
Type:
-
-

chromeVersion :number

- +
+

+ chromeVersion : number + +

@@ -1124,7 +1148,7 @@
Type:
Source:
- src/utils/Device.js line 286 + src/utils/Device.js line 286 @@ -1140,9 +1164,11 @@
Type:
-
-

cocoonJS :boolean

- +
+

+ cocoonJS : boolean + +

@@ -1199,7 +1225,7 @@
Type:
Source:
- src/utils/Device.js line 70 + src/utils/Device.js line 70 @@ -1215,9 +1241,11 @@
Type:
-
-

cocoonJSApp :boolean

- +
+

+ cocoonJSApp : boolean + +

@@ -1274,7 +1302,7 @@
Type:
Source:
- src/utils/Device.js line 76 + src/utils/Device.js line 76 @@ -1290,9 +1318,11 @@
Type:
-
-

cordova :boolean

- +
+

+ cordova : boolean + +

@@ -1349,7 +1379,7 @@
Type:
Source:
- src/utils/Device.js line 82 + src/utils/Device.js line 82 @@ -1365,9 +1395,11 @@
Type:
-
-

crosswalk :boolean

- +
+

+ crosswalk : boolean + +

@@ -1424,7 +1456,7 @@
Type:
Source:
- src/utils/Device.js line 112 + src/utils/Device.js line 112 @@ -1440,9 +1472,11 @@
Type:
-
-

css3D :boolean

- +
+

+ css3D : boolean + +

@@ -1499,7 +1533,7 @@
Type:
Source:
- src/utils/Device.js line 215 + src/utils/Device.js line 215 @@ -1515,9 +1549,11 @@
Type:
-
-

desktop :boolean

- +
+

+ desktop : boolean + +

@@ -1574,7 +1610,7 @@
Type:
Source:
- src/utils/Device.js line 52 + src/utils/Device.js line 52 @@ -1590,9 +1626,11 @@
Type:
-
-

<protected> deviceReadyAt :integer

- +
+

+ <protected> deviceReadyAt : integer + +

@@ -1649,7 +1687,7 @@
Type:
Source:
- src/utils/Device.js line 37 + src/utils/Device.js line 37 @@ -1665,9 +1703,11 @@
Type:
-
-

dolby :boolean

- +
+

+ dolby : boolean + +

@@ -1724,7 +1764,7 @@
Type:
Source:
- src/utils/Device.js line 433 + src/utils/Device.js line 433 @@ -1740,9 +1780,11 @@
Type:
-
-

edge :boolean

- +
+

+ edge : boolean + +

@@ -1799,7 +1841,7 @@
Type:
Source:
- src/utils/Device.js line 334 + src/utils/Device.js line 334 @@ -1815,9 +1857,11 @@
Type:
-
-

ejecta :boolean

- +
+

+ ejecta : boolean + +

@@ -1874,7 +1918,7 @@
Type:
Source:
- src/utils/Device.js line 106 + src/utils/Device.js line 106 @@ -1890,9 +1934,11 @@
Type:
-
-

electron :boolean

- +
+

+ electron : boolean + +

@@ -1949,7 +1995,7 @@
Type:
Source:
- src/utils/Device.js line 100 + src/utils/Device.js line 100 @@ -1965,9 +2011,11 @@
Type:
-
-

epiphany :boolean

- +
+

+ epiphany : boolean + +

@@ -2024,7 +2072,7 @@
Type:
Source:
- src/utils/Device.js line 292 + src/utils/Device.js line 292 @@ -2040,9 +2088,11 @@
Type:
-
-

file :boolean

- +
+

+ file : boolean + +

@@ -2099,7 +2149,7 @@
Type:
Source:
- src/utils/Device.js line 191 + src/utils/Device.js line 191 @@ -2115,9 +2165,11 @@
Type:
-
-

fileSystem :boolean

- +
+

+ fileSystem : boolean + +

@@ -2174,7 +2226,7 @@
Type:
Source:
- src/utils/Device.js line 197 + src/utils/Device.js line 197 @@ -2190,9 +2242,11 @@
Type:
-
-

firefox :boolean

- +
+

+ firefox : boolean + +

@@ -2249,7 +2303,7 @@
Type:
Source:
- src/utils/Device.js line 298 + src/utils/Device.js line 298 @@ -2265,9 +2319,11 @@
Type:
-
-

firefoxVersion :number

- +
+

+ firefoxVersion : number + +

@@ -2324,7 +2380,7 @@
Type:
Source:
- src/utils/Device.js line 304 + src/utils/Device.js line 304 @@ -2340,9 +2396,11 @@
Type:
-
-

fullscreen :boolean

- +
+

+ fullscreen : boolean + +

@@ -2399,7 +2457,7 @@
Type:
Source:
- src/utils/Device.js line 523 + src/utils/Device.js line 523 @@ -2415,9 +2473,11 @@
Type:
-
-

fullscreenKeyboard :boolean

- +
+

+ fullscreenKeyboard : boolean + +

@@ -2474,7 +2534,7 @@
Type:
Source:
- src/utils/Device.js line 541 + src/utils/Device.js line 541 @@ -2490,9 +2550,11 @@
Type:
-
-

getUserMedia :boolean

- +
+

+ getUserMedia : boolean + +

@@ -2556,7 +2618,7 @@
Type:
Source:
- src/utils/Device.js line 239 + src/utils/Device.js line 239 @@ -2572,9 +2634,11 @@
Type:
-
-

h264Video :boolean

- +
+

+ h264Video : boolean + +

@@ -2631,7 +2695,7 @@
Type:
Source:
- src/utils/Device.js line 447 + src/utils/Device.js line 447 @@ -2647,9 +2711,11 @@
Type:
-
-

hlsVideo :boolean

- +
+

+ hlsVideo : boolean + +

@@ -2706,7 +2772,7 @@
Type:
Source:
- src/utils/Device.js line 471 + src/utils/Device.js line 471 @@ -2722,9 +2788,11 @@
Type:
-
-

ie :boolean

- +
+

+ ie : boolean + +

@@ -2781,7 +2849,7 @@
Type:
Source:
- src/utils/Device.js line 310 + src/utils/Device.js line 310 @@ -2797,9 +2865,11 @@
Type:
-
-

ieVersion :number

- +
+

+ ieVersion : number + +

@@ -2856,7 +2926,7 @@
Type:
Source:
- src/utils/Device.js line 316 + src/utils/Device.js line 316 @@ -2872,9 +2942,11 @@
Type:
-
-

<protected> initialized :boolean

- +
+

+ <protected> initialized : boolean + +

@@ -2931,7 +3003,7 @@
Type:
Source:
- src/utils/Device.js line 44 + src/utils/Device.js line 44 @@ -2947,9 +3019,11 @@
Type:
-
-

iOS :boolean

- +
+

+ iOS : boolean + +

@@ -3006,7 +3080,7 @@
Type:
Source:
- src/utils/Device.js line 58 + src/utils/Device.js line 58 @@ -3022,9 +3096,11 @@
Type:
-
-

iOSVersion :number

- +
+

+ iOSVersion : number + +

@@ -3081,7 +3157,7 @@
Type:
Source:
- src/utils/Device.js line 64 + src/utils/Device.js line 64 @@ -3097,9 +3173,11 @@
Type:
-
-

iPad :boolean

- +
+

+ iPad : boolean + +

@@ -3156,7 +3234,7 @@
Type:
Source:
- src/utils/Device.js line 491 + src/utils/Device.js line 491 @@ -3172,9 +3250,11 @@
Type:
-
-

iPhone :boolean

- +
+

+ iPhone : boolean + +

@@ -3231,7 +3311,7 @@
Type:
Source:
- src/utils/Device.js line 479 + src/utils/Device.js line 479 @@ -3247,9 +3327,11 @@
Type:
-
-

iPhone4 :boolean

- +
+

+ iPhone4 : boolean + +

@@ -3306,7 +3388,7 @@
Type:
Source:
- src/utils/Device.js line 485 + src/utils/Device.js line 485 @@ -3322,9 +3404,11 @@
Type:
-
-

linux :boolean

- +
+

+ linux : boolean + +

@@ -3381,7 +3465,7 @@
Type:
Source:
- src/utils/Device.js line 130 + src/utils/Device.js line 130 @@ -3397,9 +3481,11 @@
Type:
-
-

LITTLE_ENDIAN :boolean

- +
+

+ LITTLE_ENDIAN : boolean + +

@@ -3456,7 +3542,7 @@
Type:
Source:
- src/utils/Device.js line 511 + src/utils/Device.js line 511 @@ -3472,9 +3558,11 @@
Type:
-
-

littleEndian :boolean

- +
+

+ littleEndian : boolean + +

@@ -3531,7 +3619,7 @@
Type:
Source:
- src/utils/Device.js line 505 + src/utils/Device.js line 505 @@ -3547,9 +3635,11 @@
Type:
-
-

localStorage :boolean

- +
+

+ localStorage : boolean + +

@@ -3606,7 +3696,7 @@
Type:
Source:
- src/utils/Device.js line 203 + src/utils/Device.js line 203 @@ -3622,9 +3712,11 @@
Type:
-
-

m4a :boolean

- +
+

+ m4a : boolean + +

@@ -3681,7 +3773,7 @@
Type:
Source:
- src/utils/Device.js line 421 + src/utils/Device.js line 421 @@ -3697,9 +3789,11 @@
Type:
-
-

macOS :boolean

- +
+

+ macOS : boolean + +

@@ -3756,7 +3850,7 @@
Type:
Source:
- src/utils/Device.js line 136 + src/utils/Device.js line 136 @@ -3772,9 +3866,11 @@
Type:
-
-

midori :boolean

- +
+

+ midori : boolean + +

@@ -3831,7 +3927,7 @@
Type:
Source:
- src/utils/Device.js line 346 + src/utils/Device.js line 346 @@ -3847,9 +3943,11 @@
Type:
-
-

mobileSafari :boolean

- +
+

+ mobileSafari : boolean + +

@@ -3906,7 +4004,7 @@
Type:
Source:
- src/utils/Device.js line 340 + src/utils/Device.js line 340 @@ -3922,9 +4020,11 @@
Type:
-
-

mp3 :boolean

- +
+

+ mp3 : boolean + +

@@ -3981,7 +4081,7 @@
Type:
Source:
- src/utils/Device.js line 408 + src/utils/Device.js line 408 @@ -3997,9 +4097,11 @@
Type:
-
-

mp4Video :boolean

- +
+

+ mp4Video : boolean + +

@@ -4056,7 +4158,7 @@
Type:
Source:
- src/utils/Device.js line 453 + src/utils/Device.js line 453 @@ -4072,9 +4174,11 @@
Type:
-
-

mspointer :boolean

- +
+

+ mspointer : boolean + +

@@ -4131,7 +4235,7 @@
Type:
Source:
- src/utils/Device.js line 259 + src/utils/Device.js line 259 @@ -4147,9 +4251,11 @@
Type:
-
-

node :boolean

- +
+

+ node : boolean + +

@@ -4206,7 +4312,7 @@
Type:
Source:
- src/utils/Device.js line 88 + src/utils/Device.js line 88 @@ -4222,9 +4328,11 @@
Type:
-
-

nodeWebkit :boolean

- +
+

+ nodeWebkit : boolean + +

@@ -4281,7 +4389,7 @@
Type:
Source:
- src/utils/Device.js line 94 + src/utils/Device.js line 94 @@ -4297,9 +4405,11 @@
Type:
-
-

ogg :boolean

- +
+

+ ogg : boolean + +

@@ -4356,7 +4466,7 @@
Type:
Source:
- src/utils/Device.js line 396 + src/utils/Device.js line 396 @@ -4372,9 +4482,11 @@
Type:
-
-

oggVideo :boolean

- +
+

+ oggVideo : boolean + +

@@ -4431,7 +4543,7 @@
Type:
Source:
- src/utils/Device.js line 441 + src/utils/Device.js line 441 @@ -4447,9 +4559,11 @@
Type:
-
-

opera :boolean

- +
+

+ opera : boolean + +

@@ -4506,7 +4620,7 @@
Type:
Source:
- src/utils/Device.js line 352 + src/utils/Device.js line 352 @@ -4522,9 +4636,11 @@
Type:
-
-

opus :boolean

- +
+

+ opus : boolean + +

@@ -4581,7 +4697,7 @@
Type:
Source:
- src/utils/Device.js line 402 + src/utils/Device.js line 402 @@ -4597,9 +4713,11 @@
Type:
-
-

pixelRatio :number

- +
+

+ pixelRatio : number + +

@@ -4656,7 +4774,7 @@
Type:
Source:
- src/utils/Device.js line 499 + src/utils/Device.js line 499 @@ -4672,9 +4790,11 @@
Type:
-
-

pointerLock :boolean

- +
+

+ pointerLock : boolean + +

@@ -4731,7 +4851,7 @@
Type:
Source:
- src/utils/Device.js line 221 + src/utils/Device.js line 221 @@ -4747,9 +4867,11 @@
Type:
-
-

quirksMode :boolean

- +
+

+ quirksMode : boolean + +

@@ -4806,7 +4928,7 @@
Type:
Source:
- src/utils/Device.js line 245 + src/utils/Device.js line 245 @@ -4822,9 +4944,11 @@
Type:
-
-

requestFullscreen :string

- +
+

+ requestFullscreen : string + +

@@ -4881,7 +5005,7 @@
Type:
Source:
- src/utils/Device.js line 529 + src/utils/Device.js line 529 @@ -4897,9 +5021,11 @@
Type:
-
-

safari :boolean

- +
+

+ safari : boolean + +

@@ -4956,7 +5082,7 @@
Type:
Source:
- src/utils/Device.js line 358 + src/utils/Device.js line 358 @@ -4972,9 +5098,11 @@
Type:
-
-

safariVersion :number

- +
+

+ safariVersion : number + +

@@ -5031,7 +5159,7 @@
Type:
Source:
- src/utils/Device.js line 364 + src/utils/Device.js line 364 @@ -5047,9 +5175,11 @@
Type:
-
-

silk :boolean

- +
+

+ silk : boolean + +

@@ -5106,7 +5236,7 @@
Type:
Source:
- src/utils/Device.js line 376 + src/utils/Device.js line 376 @@ -5122,9 +5252,11 @@
Type:
-
-

support32bit :boolean

- +
+

+ support32bit : boolean + +

@@ -5181,7 +5313,7 @@
Type:
Source:
- src/utils/Device.js line 517 + src/utils/Device.js line 517 @@ -5197,9 +5329,11 @@
Type:
-
-

touch :boolean

- +
+

+ touch : boolean + +

@@ -5256,7 +5390,7 @@
Type:
Source:
- src/utils/Device.js line 253 + src/utils/Device.js line 253 @@ -5272,9 +5406,11 @@
Type:
-
-

trident :boolean

- +
+

+ trident : boolean + +

@@ -5331,7 +5467,7 @@
Type:
Source:
- src/utils/Device.js line 322 + src/utils/Device.js line 322 @@ -5347,9 +5483,11 @@
Type:
-
-

tridentVersion :number

- +
+

+ tridentVersion : number + +

@@ -5406,7 +5544,7 @@
Type:
Source:
- src/utils/Device.js line 328 + src/utils/Device.js line 328 @@ -5422,9 +5560,11 @@
Type:
-
-

typedArray :boolean

- +
+

+ typedArray : boolean + +

@@ -5481,7 +5621,7 @@
Type:
Source:
- src/utils/Device.js line 227 + src/utils/Device.js line 227 @@ -5497,9 +5637,11 @@
Type:
-
-

vibration :boolean

- +
+

+ vibration : boolean + +

@@ -5556,7 +5698,7 @@
Type:
Source:
- src/utils/Device.js line 233 + src/utils/Device.js line 233 @@ -5572,9 +5714,11 @@
Type:
-
-

vp9Video :boolean

- +
+

+ vp9Video : boolean + +

@@ -5631,7 +5775,7 @@
Type:
Source:
- src/utils/Device.js line 465 + src/utils/Device.js line 465 @@ -5647,9 +5791,11 @@
Type:
-
-

wav :boolean

- +
+

+ wav : boolean + +

@@ -5706,7 +5852,7 @@
Type:
Source:
- src/utils/Device.js line 414 + src/utils/Device.js line 414 @@ -5722,9 +5868,11 @@
Type:
-
-

webApp :boolean

- +
+

+ webApp : boolean + +

@@ -5781,7 +5929,7 @@
Type:
Source:
- src/utils/Device.js line 370 + src/utils/Device.js line 370 @@ -5797,9 +5945,11 @@
Type:
-
-

webAudio :boolean

- +
+

+ webAudio : boolean + +

@@ -5856,7 +6006,7 @@
Type:
Source:
- src/utils/Device.js line 390 + src/utils/Device.js line 390 @@ -5872,9 +6022,11 @@
Type:
-
-

webGL :boolean

- +
+

+ webGL : boolean + +

@@ -5931,7 +6083,7 @@
Type:
Source:
- src/utils/Device.js line 185 + src/utils/Device.js line 185 @@ -5947,9 +6099,11 @@
Type:
-
-

webm :boolean

- +
+

+ webm : boolean + +

@@ -6006,7 +6160,7 @@
Type:
Source:
- src/utils/Device.js line 427 + src/utils/Device.js line 427 @@ -6022,9 +6176,11 @@
Type:
-
-

webmVideo :boolean

- +
+

+ webmVideo : boolean + +

@@ -6081,7 +6237,7 @@
Type:
Source:
- src/utils/Device.js line 459 + src/utils/Device.js line 459 @@ -6097,9 +6253,11 @@
Type:
-
-

<protected> wheelEvent

- +
+

+ <protected> wheelEvent + +

@@ -6204,7 +6362,7 @@
Properties:
Source:
- src/utils/Device.js line 266 + src/utils/Device.js line 266 @@ -6220,9 +6378,11 @@
Properties:
-
-

windows :boolean

- +
+

+ windows : boolean + +

@@ -6279,7 +6439,7 @@
Type:
Source:
- src/utils/Device.js line 142 + src/utils/Device.js line 142 @@ -6295,9 +6455,11 @@
Type:
-
-

windowsPhone :boolean

- +
+

+ windowsPhone : boolean + +

@@ -6354,7 +6516,7 @@
Type:
Source:
- src/utils/Device.js line 148 + src/utils/Device.js line 148 @@ -6370,9 +6532,11 @@
Type:
-
-

worker :boolean

- +
+

+ worker : boolean + +

@@ -6429,7 +6593,7 @@
Type:
Source:
- src/utils/Device.js line 209 + src/utils/Device.js line 209 @@ -6452,7 +6616,7 @@

Methods

-

+

<static> whenReady(handler [, context] [, nonPrimer])

@@ -6655,7 +6819,7 @@
Parameters:
Source:
- src/utils/Device.js line 577 + src/utils/Device.js line 577 @@ -6684,7 +6848,7 @@
Parameters:
-

+

canPlayAudio(type)

@@ -6789,7 +6953,7 @@
Parameters:
Source:
- src/utils/Device.js line 1313 + src/utils/Device.js line 1313 @@ -6842,7 +7006,7 @@
Returns:
-

+

canPlayVideo(type)

@@ -6947,7 +7111,7 @@
Parameters:
Source:
- src/utils/Device.js line 1356 + src/utils/Device.js line 1356 @@ -7000,7 +7164,7 @@
Returns:
-

+

isAndroidStockBrowser()

@@ -7057,7 +7221,7 @@

Source:
- src/utils/Device.js line 1414 + src/utils/Device.js line 1414 @@ -7092,7 +7256,7 @@
Example
-

+

isConsoleOpen() deprecated

@@ -7156,7 +7320,7 @@

Source:
- src/utils/Device.js line 1398 + src/utils/Device.js line 1398 @@ -7196,7 +7360,7 @@
Returns:
-

+

needsTouchUnlock()

@@ -7251,7 +7415,7 @@

Source:
- src/utils/Device.js line 1387 + src/utils/Device.js line 1387 @@ -7314,9 +7478,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -7333,9 +7497,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -7347,7 +7511,7 @@
Returns:
- +
@@ -7362,7 +7526,7 @@
Returns:
- + diff --git a/docs/Phaser.DeviceButton.html b/docs/Phaser.DeviceButton.html index c305d7eba..77e91e902 100644 --- a/docs/Phaser.DeviceButton.html +++ b/docs/Phaser.DeviceButton.html @@ -6,7 +6,7 @@ Phaser CE Class: DeviceButton - + @@ -125,7 +125,7 @@

-

+

new DeviceButton(parent, buttonCode)

@@ -269,7 +269,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 31 + src/input/DeviceButton.js line 31 @@ -313,9 +313,11 @@

Members

-
-

altKey :boolean

- +
+

+ altKey : boolean + +

@@ -373,7 +375,7 @@
Type:
Source:
- src/input/DeviceButton.js line 87 + src/input/DeviceButton.js line 87 @@ -389,9 +391,11 @@
Type:
-
-

buttonCode :number

- +
+

+ buttonCode : number + +

@@ -448,7 +452,7 @@
Type:
Source:
- src/input/DeviceButton.js line 114 + src/input/DeviceButton.js line 114 @@ -464,9 +468,11 @@
Type:
-
-

ctrlKey :boolean

- +
+

+ ctrlKey : boolean + +

@@ -524,7 +530,7 @@
Type:
Source:
- src/input/DeviceButton.js line 103 + src/input/DeviceButton.js line 103 @@ -540,9 +546,11 @@
Type:
-
-

<readonly> duration :number

- +
+

+ <readonly> duration : number + +

@@ -600,7 +608,7 @@
Type:
Source:
- src/input/DeviceButton.js line 326 + src/input/DeviceButton.js line 326 @@ -616,9 +624,11 @@
Type:
-
-

event :object

- +
+

+ event : object + +

@@ -675,7 +685,7 @@
Type:
Source:
- src/input/DeviceButton.js line 47 + src/input/DeviceButton.js line 47 @@ -691,9 +701,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -750,7 +762,7 @@
Type:
Source:
- src/input/DeviceButton.js line 41 + src/input/DeviceButton.js line 41 @@ -766,9 +778,11 @@
Type:
-
-

isDown :boolean

- +
+

+ isDown : boolean + +

@@ -825,7 +839,7 @@
Type:
Source:
- src/input/DeviceButton.js line 53 + src/input/DeviceButton.js line 53 @@ -841,9 +855,11 @@
Type:
-
-

isUp :boolean

- +
+

+ isUp : boolean + +

@@ -907,7 +923,7 @@
Type:
Source:
- src/input/DeviceButton.js line 59 + src/input/DeviceButton.js line 59 @@ -923,9 +939,11 @@
Type:
-
-

onDown :Phaser.Signal

- +
+

+ onDown : Phaser.Signal + +

@@ -984,7 +1002,7 @@
Type:
Source:
- src/input/DeviceButton.js line 122 + src/input/DeviceButton.js line 122 @@ -1000,9 +1018,11 @@
Type:
-
-

onFloat :Phaser.Signal

- +
+

+ onFloat : Phaser.Signal + +

@@ -1061,7 +1081,7 @@
Type:
Source:
- src/input/DeviceButton.js line 138 + src/input/DeviceButton.js line 138 @@ -1077,9 +1097,11 @@
Type:
-
-

onUp :Phaser.Signal

- +
+

+ onUp : Phaser.Signal + +

@@ -1138,7 +1160,7 @@
Type:
Source:
- src/input/DeviceButton.js line 130 + src/input/DeviceButton.js line 130 @@ -1154,9 +1176,11 @@
Type:
-
-

parent :Phaser.Pointer|Phaser.SinglePad

- +
+

+ parent : Phaser.Pointer | Phaser.SinglePad + +

@@ -1216,7 +1240,7 @@
Type:
Source:
- src/input/DeviceButton.js line 36 + src/input/DeviceButton.js line 36 @@ -1232,9 +1256,11 @@
Type:
-
-

repeats :number

- +
+

+ repeats : number + +

@@ -1292,7 +1318,7 @@
Type:
Source:
- src/input/DeviceButton.js line 79 + src/input/DeviceButton.js line 79 @@ -1308,9 +1334,11 @@
Type:
-
-

shiftKey :boolean

- +
+

+ shiftKey : boolean + +

@@ -1368,7 +1396,7 @@
Type:
Source:
- src/input/DeviceButton.js line 95 + src/input/DeviceButton.js line 95 @@ -1384,9 +1412,11 @@
Type:
-
-

timeDown :number

- +
+

+ timeDown : number + +

@@ -1443,7 +1473,7 @@
Type:
Source:
- src/input/DeviceButton.js line 65 + src/input/DeviceButton.js line 65 @@ -1459,9 +1489,11 @@
Type:
-
-

timeUp :number

- +
+

+ timeUp : number + +

@@ -1518,7 +1550,7 @@
Type:
Source:
- src/input/DeviceButton.js line 71 + src/input/DeviceButton.js line 71 @@ -1534,9 +1566,11 @@
Type:
-
-

value :number

- +
+

+ value : number + +

@@ -1593,7 +1627,7 @@
Type:
Source:
- src/input/DeviceButton.js line 109 + src/input/DeviceButton.js line 109 @@ -1616,7 +1650,7 @@

Methods

-

+

destroy()

@@ -1672,7 +1706,7 @@

Source:
- src/input/DeviceButton.js line 305 + src/input/DeviceButton.js line 305 @@ -1701,7 +1735,7 @@

-

+

justPressed( [duration])

@@ -1827,7 +1861,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 254 + src/input/DeviceButton.js line 254 @@ -1880,7 +1914,7 @@
Returns:
-

+

justReleased( [duration])

@@ -2006,7 +2040,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 270 + src/input/DeviceButton.js line 270 @@ -2059,7 +2093,7 @@
Returns:
-

+

<protected> padFloat(value)

@@ -2164,7 +2198,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 236 + src/input/DeviceButton.js line 236 @@ -2193,7 +2227,7 @@
Parameters:
-

+

reset()

@@ -2248,7 +2282,7 @@

Source:
- src/input/DeviceButton.js line 286 + src/input/DeviceButton.js line 286 @@ -2277,7 +2311,7 @@

-

+

<protected> start( [event] [, value])

@@ -2429,7 +2463,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 144 + src/input/DeviceButton.js line 144 @@ -2458,7 +2492,7 @@
Parameters:
-

+

<protected> startStop( [condition] [, event] [, value])

@@ -2644,7 +2678,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 213 + src/input/DeviceButton.js line 213 @@ -2673,7 +2707,7 @@
Parameters:
-

+

<protected> stop( [event] [, value])

@@ -2825,7 +2859,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 179 + src/input/DeviceButton.js line 179 @@ -2868,9 +2902,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2887,9 +2921,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2901,7 +2935,7 @@
Parameters:
- +
@@ -2916,7 +2950,7 @@
Parameters:
- + diff --git a/docs/Phaser.Easing.Back.html b/docs/Phaser.Easing.Back.html index 2d5251dee..8af0d692b 100644 --- a/docs/Phaser.Easing.Back.html +++ b/docs/Phaser.Easing.Back.html @@ -6,7 +6,7 @@ Phaser CE Class: Back - + @@ -125,7 +125,7 @@

-

+

new Back()

@@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 457 + src/tween/Easing.js line 457 @@ -227,7 +227,7 @@

Methods

-

+

In(k)

@@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 459 + src/tween/Easing.js line 459 @@ -385,7 +385,7 @@
Returns:
-

+

InOut(k)

@@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 487 + src/tween/Easing.js line 487 @@ -543,7 +543,7 @@
Returns:
-

+

Out(k)

@@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 473 + src/tween/Easing.js line 473 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -734,9 +734,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -748,7 +748,7 @@
Returns:
- +
@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Bounce.html b/docs/Phaser.Easing.Bounce.html index 910f15cfe..6fca23c88 100644 --- a/docs/Phaser.Easing.Bounce.html +++ b/docs/Phaser.Easing.Bounce.html @@ -6,7 +6,7 @@ Phaser CE Class: Bounce - + @@ -125,7 +125,7 @@

-

+

new Bounce()

@@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 509 + src/tween/Easing.js line 509 @@ -227,7 +227,7 @@

Methods

-

+

In(k)

@@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 511 + src/tween/Easing.js line 511 @@ -385,7 +385,7 @@
Returns:
-

+

InOut(k)

@@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 553 + src/tween/Easing.js line 553 @@ -543,7 +543,7 @@
Returns:
-

+

Out(k)

@@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 524 + src/tween/Easing.js line 524 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -734,9 +734,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -748,7 +748,7 @@
Returns:
- +
@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Circular.html b/docs/Phaser.Easing.Circular.html index 8d8440766..29309c60e 100644 --- a/docs/Phaser.Easing.Circular.html +++ b/docs/Phaser.Easing.Circular.html @@ -6,7 +6,7 @@ Phaser CE Class: Circular - + @@ -125,7 +125,7 @@

-

+

new Circular()

@@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 344 + src/tween/Easing.js line 344 @@ -227,7 +227,7 @@

Methods

-

+

In(k)

@@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 346 + src/tween/Easing.js line 346 @@ -385,7 +385,7 @@
Returns:
-

+

InOut(k)

@@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 372 + src/tween/Easing.js line 372 @@ -543,7 +543,7 @@
Returns:
-

+

Out(k)

@@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 359 + src/tween/Easing.js line 359 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -734,9 +734,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -748,7 +748,7 @@
Returns:
- +
@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Cubic.html b/docs/Phaser.Easing.Cubic.html index 5e8f40e93..0aa40df72 100644 --- a/docs/Phaser.Easing.Cubic.html +++ b/docs/Phaser.Easing.Cubic.html @@ -6,7 +6,7 @@ Phaser CE Class: Cubic - + @@ -125,7 +125,7 @@

-

+

new Cubic()

@@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 92 + src/tween/Easing.js line 92 @@ -227,7 +227,7 @@

Methods

-

+

In(k)

@@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 94 + src/tween/Easing.js line 94 @@ -385,7 +385,7 @@
Returns:
-

+

InOut(k)

@@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 120 + src/tween/Easing.js line 120 @@ -543,7 +543,7 @@
Returns:
-

+

Out(k)

@@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 107 + src/tween/Easing.js line 107 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -734,9 +734,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -748,7 +748,7 @@
Returns:
- +
@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Elastic.html b/docs/Phaser.Easing.Elastic.html index d018ef234..af4ddf53b 100644 --- a/docs/Phaser.Easing.Elastic.html +++ b/docs/Phaser.Easing.Elastic.html @@ -6,7 +6,7 @@ Phaser CE Class: Elastic - + @@ -125,7 +125,7 @@

-

+

new Elastic()

@@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 393 + src/tween/Easing.js line 393 @@ -227,7 +227,7 @@

Methods

-

+

In(k)

@@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 395 + src/tween/Easing.js line 395 @@ -385,7 +385,7 @@
Returns:
-

+

InOut(k)

@@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 431 + src/tween/Easing.js line 431 @@ -543,7 +543,7 @@
Returns:
-

+

Out(k)

@@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 413 + src/tween/Easing.js line 413 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -734,9 +734,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -748,7 +748,7 @@
Returns:
- +
@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Exponential.html b/docs/Phaser.Easing.Exponential.html index 33420076c..420278796 100644 --- a/docs/Phaser.Easing.Exponential.html +++ b/docs/Phaser.Easing.Exponential.html @@ -6,7 +6,7 @@ Phaser CE Class: Exponential - + @@ -125,7 +125,7 @@

-

+

new Exponential()

@@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 293 + src/tween/Easing.js line 293 @@ -227,7 +227,7 @@

Methods

-

+

In(k)

@@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 295 + src/tween/Easing.js line 295 @@ -385,7 +385,7 @@
Returns:
-

+

InOut(k)

@@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 321 + src/tween/Easing.js line 321 @@ -543,7 +543,7 @@
Returns:
-

+

Out(k)

@@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 308 + src/tween/Easing.js line 308 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -734,9 +734,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -748,7 +748,7 @@
Returns:
- +
@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Linear.html b/docs/Phaser.Easing.Linear.html index d9ed74d50..bf4e755d2 100644 --- a/docs/Phaser.Easing.Linear.html +++ b/docs/Phaser.Easing.Linear.html @@ -6,7 +6,7 @@ Phaser CE Class: Linear - + @@ -125,7 +125,7 @@

-

+

new Linear()

@@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 21 + src/tween/Easing.js line 21 @@ -227,7 +227,7 @@

Methods

-

+

None(k)

@@ -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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -418,9 +418,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -432,7 +432,7 @@
Returns:
- +
@@ -447,7 +447,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quadratic.html b/docs/Phaser.Easing.Quadratic.html index 1219c98d5..2c9fce714 100644 --- a/docs/Phaser.Easing.Quadratic.html +++ b/docs/Phaser.Easing.Quadratic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quadratic - + @@ -125,7 +125,7 @@

-

+

new Quadratic()

@@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 43 + src/tween/Easing.js line 43 @@ -227,7 +227,7 @@

Methods

-

+

In(k)

@@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 45 + src/tween/Easing.js line 45 @@ -385,7 +385,7 @@
Returns:
-

+

InOut(k)

@@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 71 + src/tween/Easing.js line 71 @@ -543,7 +543,7 @@
Returns:
-

+

Out(k)

@@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 58 + src/tween/Easing.js line 58 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -734,9 +734,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -748,7 +748,7 @@
Returns:
- +
@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quartic.html b/docs/Phaser.Easing.Quartic.html index a42ade1a5..4efe3be8a 100644 --- a/docs/Phaser.Easing.Quartic.html +++ b/docs/Phaser.Easing.Quartic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quartic - + @@ -125,7 +125,7 @@

-

+

new Quartic()

@@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 141 + src/tween/Easing.js line 141 @@ -227,7 +227,7 @@

Methods

-

+

In(k)

@@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 143 + src/tween/Easing.js line 143 @@ -385,7 +385,7 @@
Returns:
-

+

InOut(k)

@@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 169 + src/tween/Easing.js line 169 @@ -543,7 +543,7 @@
Returns:
-

+

Out(k)

@@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 156 + src/tween/Easing.js line 156 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -734,9 +734,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -748,7 +748,7 @@
Returns:
- +
@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quintic.html b/docs/Phaser.Easing.Quintic.html index 347a2db39..31dba7b87 100644 --- a/docs/Phaser.Easing.Quintic.html +++ b/docs/Phaser.Easing.Quintic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quintic - + @@ -125,7 +125,7 @@

-

+

new Quintic()

@@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 190 + src/tween/Easing.js line 190 @@ -227,7 +227,7 @@

Methods

-

+

In(k)

@@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 192 + src/tween/Easing.js line 192 @@ -385,7 +385,7 @@
Returns:
-

+

InOut(k)

@@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 218 + src/tween/Easing.js line 218 @@ -543,7 +543,7 @@
Returns:
-

+

Out(k)

@@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 205 + src/tween/Easing.js line 205 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -734,9 +734,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -748,7 +748,7 @@
Returns:
- +
@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Sinusoidal.html b/docs/Phaser.Easing.Sinusoidal.html index 169cc8d7f..1f11aaf8f 100644 --- a/docs/Phaser.Easing.Sinusoidal.html +++ b/docs/Phaser.Easing.Sinusoidal.html @@ -6,7 +6,7 @@ Phaser CE Class: Sinusoidal - + @@ -125,7 +125,7 @@

-

+

new Sinusoidal()

@@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 239 + src/tween/Easing.js line 239 @@ -227,7 +227,7 @@

Methods

-

+

In(k)

@@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 241 + src/tween/Easing.js line 241 @@ -385,7 +385,7 @@
Returns:
-

+

InOut(k)

@@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 271 + src/tween/Easing.js line 271 @@ -543,7 +543,7 @@
Returns:
-

+

Out(k)

@@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 256 + src/tween/Easing.js line 256 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -734,9 +734,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -748,7 +748,7 @@
Returns:
- +
@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.html b/docs/Phaser.Easing.html index 6813a1c9b..43de6e0ef 100644 --- a/docs/Phaser.Easing.html +++ b/docs/Phaser.Easing.html @@ -6,7 +6,7 @@ Phaser CE Class: Easing - + @@ -125,7 +125,7 @@

-

+

new 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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -293,9 +293,9 @@

Classes

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -307,7 +307,7 @@

Classes

- +
@@ -322,7 +322,7 @@

Classes

- + diff --git a/docs/Phaser.Ellipse.html b/docs/Phaser.Ellipse.html index 2ba876235..52455b32f 100644 --- a/docs/Phaser.Ellipse.html +++ b/docs/Phaser.Ellipse.html @@ -6,7 +6,7 @@ Phaser CE Class: Ellipse - + @@ -125,7 +125,7 @@

-

+

new Ellipse( [x] [, y] [, width] [, height])

@@ -370,7 +370,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 18 + src/geom/Ellipse.js line 18 @@ -414,9 +414,11 @@

Members

-
-

bottom :number

- +
+

+ bottom : number + +

@@ -473,7 +475,7 @@
Type:
Source:
- src/geom/Ellipse.js line 251 + src/geom/Ellipse.js line 251 @@ -489,9 +491,11 @@
Type:
-
-

empty :boolean

- +
+

+ empty : boolean + +

@@ -549,7 +553,7 @@
Type:
Source:
- src/geom/Ellipse.js line 276 + src/geom/Ellipse.js line 276 @@ -565,9 +569,11 @@
Type:
-
-

height :number

- +
+

+ height : number + +

@@ -624,7 +630,7 @@
Type:
Source:
- src/geom/Ellipse.js line 43 + src/geom/Ellipse.js line 43 @@ -640,9 +646,11 @@
Type:
-
-

left

- +
+

+ left + +

@@ -688,7 +696,7 @@

leftSource:

- src/geom/Ellipse.js line 190 + src/geom/Ellipse.js line 190 @@ -704,9 +712,11 @@

left - - +
+
@@ -763,7 +773,7 @@
Type:
Source:
- src/geom/Ellipse.js line 209 + src/geom/Ellipse.js line 209 @@ -779,9 +789,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -838,7 +850,7 @@
Type:
Source:
- src/geom/Ellipse.js line 234 + src/geom/Ellipse.js line 234 @@ -854,9 +866,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -913,7 +927,7 @@
Type:
Source:
- src/geom/Ellipse.js line 49 + src/geom/Ellipse.js line 49 @@ -929,9 +943,11 @@
Type:
-
-

width :number

- +
+

+ width : number + +

@@ -988,7 +1004,7 @@
Type:
Source:
- src/geom/Ellipse.js line 38 + src/geom/Ellipse.js line 38 @@ -1004,9 +1020,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -1063,7 +1081,7 @@
Type:
Source:
- src/geom/Ellipse.js line 28 + src/geom/Ellipse.js line 28 @@ -1079,9 +1097,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -1138,7 +1158,7 @@
Type:
Source:
- src/geom/Ellipse.js line 33 + src/geom/Ellipse.js line 33 @@ -1161,7 +1181,7 @@

Methods

-

+

<static> contains(a, x, y)

@@ -1314,7 +1334,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 299 + src/geom/Ellipse.js line 299 @@ -1367,7 +1387,7 @@
Returns:
-

+

clone(output)

@@ -1472,7 +1492,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 117 + src/geom/Ellipse.js line 117 @@ -1525,7 +1545,7 @@
Returns:
-

+

contains(x, y)

@@ -1654,7 +1674,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 138 + src/geom/Ellipse.js line 138 @@ -1707,7 +1727,7 @@
Returns:
-

+

copyFrom(source)

@@ -1812,7 +1832,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 87 + src/geom/Ellipse.js line 87 @@ -1865,7 +1885,7 @@
Returns:
-

+

copyTo(dest)

@@ -1970,7 +1990,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 100 + src/geom/Ellipse.js line 100 @@ -2023,7 +2043,7 @@
Returns:
-

+

getBounds()

@@ -2078,7 +2098,7 @@

Source:
- src/geom/Ellipse.js line 75 + src/geom/Ellipse.js line 75 @@ -2131,7 +2151,7 @@
Returns:
-

+

random( [out])

@@ -2252,7 +2272,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 152 + src/geom/Ellipse.js line 152 @@ -2305,7 +2325,7 @@
Returns:
-

+

setTo(x, y, width, height)

@@ -2482,7 +2502,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 55 + src/geom/Ellipse.js line 55 @@ -2535,7 +2555,7 @@
Returns:
-

+

toString()

@@ -2590,7 +2610,7 @@

Source:
- src/geom/Ellipse.js line 177 + src/geom/Ellipse.js line 177 @@ -2657,9 +2677,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2676,9 +2696,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2690,7 +2710,7 @@
Returns:
- +
@@ -2705,7 +2725,7 @@
Returns:
- + diff --git a/docs/Phaser.Events.html b/docs/Phaser.Events.html index 3da4b4043..038100772 100644 --- a/docs/Phaser.Events.html +++ b/docs/Phaser.Events.html @@ -6,7 +6,7 @@ Phaser CE Class: Events - + @@ -125,7 +125,7 @@

-

+

new Events(sprite)

@@ -140,11 +140,11 @@

this class are signals you can subscribe to, much in the same way you'd "listen" for an event.

For example to tell when a Sprite has been added to a new group, you can bind a function -to the onAddedToGroup signal:

+to the onAddedToGroup signal:

sprite.events.onAddedToGroup.add(yourFunction, this);

Where yourFunction is the function you want called when this event occurs.

-

For more details about how signals work please see the Phaser.Signal class.

-

The Input-related events will only be dispatched if the Sprite has had inputEnabled set to true +

For more details about how signals work please see the Phaser.Signal class.

+

The Input-related events will only be dispatched if the Sprite has had inputEnabled set to true and the Animation-related events only apply to game objects with animations like Phaser.Sprite.

@@ -240,7 +240,7 @@

Parameters:
Source:
- src/gameobjects/components/Events.js line 30 + src/gameobjects/components/Events.js line 30 @@ -284,18 +284,22 @@

Members

-
-

onAddedToGroup :Phaser.Signal

- +
+

+ onAddedToGroup : Phaser.Signal + +

-

This signal is dispatched when this Game Object is added to a new Group. -It is sent two arguments: -{any} The Game Object that was added to the Group. -{Phaser.Group} The Group it was added to.

+

This signal is dispatched when this Game Object is added to a new Group. +It is sent two arguments:

+
    +
  • {any} The Game Object that was added to the Group.
  • +
  • {Phaser.Group} The Group it was added to.
  • +
@@ -346,7 +350,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 84 + src/gameobjects/components/Events.js line 85 @@ -362,20 +366,24 @@
Type:
-
-

onAnimationComplete :Phaser.Signal

- +
+

+ onAnimationComplete : Phaser.Signal + +

-

This signal is dispatched if the Game Object has the AnimationManager component, -and an Animation has been stopped (via animation.stop() and the dispatchComplete argument has been set. -You can also listen to Animation.onComplete rather than via the Game Objects events. -It is sent two arguments: -{any} The Game Object that received the event. -{Phaser.Animation} The Phaser.Animation that was stopped.

+

This signal is dispatched if the Game Object has the AnimationManager component, +and an Animation has been stopped (via animation.stop() and the dispatchComplete argument has been set. +You can also listen to Phaser.Animation#onComplete rather than via the Game Objects events. +It is sent two arguments:

+
    +
  • {any} The Game Object that received the event.
  • +
  • {Phaser.Animation} The Phaser.Animation that was stopped.
  • +
@@ -426,7 +434,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 249 + src/gameobjects/components/Events.js line 273 @@ -442,20 +450,24 @@
Type:
-
-

onAnimationLoop :Phaser.Signal

- +
+

+ onAnimationLoop : Phaser.Signal + +

-

This signal is dispatched if the Game Object has the AnimationManager component, +

This signal is dispatched if the Game Object has the AnimationManager component, and an Animation has looped playback. -You can also listen to Animation.onLoop rather than via the Game Objects events. -It is sent two arguments: -{any} The Game Object that received the event. -{Phaser.Animation} The Phaser.Animation that looped.

+You can also listen to Phaser.Animation#onLoop rather than via the Game Objects events. +It is sent two arguments:

+
    +
  • {any} The Game Object that received the event.
  • +
  • {Phaser.Animation} The Phaser.Animation that looped.
  • +
@@ -506,7 +518,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 260 + src/gameobjects/components/Events.js line 286 @@ -522,20 +534,24 @@
Type:
-
-

onAnimationStart :Phaser.Signal

- +
+

+ onAnimationStart : Phaser.Signal + +

-

This signal is dispatched if the Game Object has the AnimationManager component, +

This signal is dispatched if the Game Object has the AnimationManager component, and an Animation has been played. -You can also listen to Animation.onStart rather than via the Game Objects events. -It is sent two arguments: -{any} The Game Object that received the event. -{Phaser.Animation} The Phaser.Animation that was started.

+You can also listen to Phaser.Animation#onStart rather than via the Game Objects events. +It is sent two arguments:

+
    +
  • {any} The Game Object that received the event.
  • +
  • {Phaser.Animation} The Phaser.Animation that was started.
  • +
@@ -586,7 +602,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 238 + src/gameobjects/components/Events.js line 260 @@ -602,18 +618,22 @@
Type:
-
-

onDestroy :Phaser.Signal

- +
+

+ onDestroy : Phaser.Signal + +

This signal is dispatched when the Game Object is destroyed. -This happens when Sprite.destroy() is called, or Group.destroy() with destroyChildren set to true. -It is sent one argument: -{any} The Game Object that was destroyed.

+This happens when Sprite.destroy() is called, or Group.destroy() with destroyChildren set to true. +It is sent one argument:

+
    +
  • {any} The Game Object that was destroyed.
  • +
@@ -664,7 +684,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 109 + src/gameobjects/components/Events.js line 107 @@ -680,22 +700,26 @@
Type:
-
-

onDragStart :Phaser.Signal

- +
+

+ onDragStart : Phaser.Signal + +

-

This signal is dispatched if the Game Object has been inputEnabled and enableDrag has been set. -It is sent when a Phaser.Pointer starts to drag the Game Object, taking into consideration the various +

This signal is dispatched if the Game Object has been inputEnabled and enableDrag has been set. +It is sent when a Phaser.Pointer starts to drag the Game Object, taking into consideration the various drag limitations that may be set. -It is sent four arguments: -{any} The Game Object that received the event. -{Phaser.Pointer} The Phaser.Pointer object that caused the event. -{number} The x coordinate that the drag started from. -{number} The y coordinate that the drag started from.

+It is sent four arguments:

+
    +
  • {any} The Game Object that received the event.
  • +
  • {Phaser.Pointer} The Phaser.Pointer object that caused the event.
  • +
  • {number} The x coordinate that the drag started from.
  • +
  • {number} The y coordinate that the drag started from.
  • +
@@ -746,7 +770,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 202 + src/gameobjects/components/Events.js line 218 @@ -762,19 +786,23 @@
Type:
-
-

onDragStop :Phaser.Signal

- +
+

+ onDragStop : Phaser.Signal + +

-

This signal is dispatched if the Game Object has been inputEnabled and enableDrag has been set. -It is sent when a Phaser.Pointer stops dragging the Game Object. -It is sent two arguments: -{any} The Game Object that received the event. -{Phaser.Pointer} The Phaser.Pointer object that caused the event.

+

This signal is dispatched if the Game Object has been inputEnabled and enableDrag has been set. +It is sent when a Phaser.Pointer stops dragging the Game Object. +It is sent two arguments:

+
    +
  • {any} The Game Object that received the event.
  • +
  • {Phaser.Pointer} The Phaser.Pointer object that caused the event.
  • +
@@ -825,7 +853,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 227 + src/gameobjects/components/Events.js line 247 @@ -841,24 +869,28 @@
Type:
-
-

onDragUpdate :Phaser.Signal

- +
+

+ onDragUpdate : Phaser.Signal + +

-

This signal is dispatched if the Game Object has been inputEnabled and enableDrag has been set. -It is sent when a Phaser.Pointer is actively dragging the Game Object. +

This signal is dispatched if the Game Object has been inputEnabled and enableDrag has been set. +It is sent when a Phaser.Pointer is actively dragging the Game Object. Be warned: This is a high volume Signal. Be careful what you bind to it. -It is sent six arguments: -{any} The Game Object that received the event. -{Phaser.Pointer} The Phaser.Pointer object that caused the event. -{number} The new x coordinate of the Game Object. -{number} The new y coordinate of the Game Object. -{Phaser.Point} A Point object that contains the point the Game Object was snapped to, if snapOnDrag has been enabled. -{boolean} The fromStart boolean, indicates if this is the first update immediately after the drag has started.

+It is sent six arguments:

+
    +
  • {any} The Game Object that received the event.
  • +
  • {Phaser.Pointer} The Phaser.Pointer object that caused the event.
  • +
  • {number} The new x coordinate of the Game Object.
  • +
  • {number} The new y coordinate of the Game Object.
  • +
  • {Phaser.Point} A Point object that contains the point the Game Object was snapped to, if snapOnDrag has been enabled.
  • +
  • {boolean} The fromStart boolean, indicates if this is the first update immediately after the drag has started.
  • +
@@ -909,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 217 + src/gameobjects/components/Events.js line 235 @@ -925,18 +957,22 @@
Type:
-
-

onEnterBounds :Phaser.Signal

- +
+

+ onEnterBounds : Phaser.Signal + +

-

This signal is dispatched when the Game Object returns within the Phaser.World bounds, having previously been outside of them. -This signal is only if Sprite.checkWorldBounds is set to true. -It is sent one argument: -{any} The Game Object that entered the World bounds.

+

This signal is dispatched when the Game Object returns within the Phaser.World bounds, having previously been outside of them. +This signal is only if Sprite.checkWorldBounds is set to true. +It is sent one argument:

+
    +
  • {any} The Game Object that entered the World bounds.
  • +
@@ -987,7 +1023,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 146 + src/gameobjects/components/Events.js line 152 @@ -1003,20 +1039,24 @@
Type:
-
-

onInputDown :Phaser.Signal

- +
+

+ onInputDown : Phaser.Signal + +

-

This signal is dispatched if the Game Object has inputEnabled set to true, -and receives a down event from a Phaser.Pointer. This effectively means the Pointer has been +

This signal is dispatched if the Game Object has inputEnabled set to true, +and receives a down event from a Phaser.Pointer. This effectively means the Pointer has been pressed down (but not yet released) on the Game Object. -It is sent two arguments: -{any} The Game Object that received the event. -{Phaser.Pointer} The Phaser.Pointer object that caused the event.

+It is sent two arguments:

+
    +
  • {any} The Game Object that received the event.
  • +
  • {Phaser.Pointer} The Phaser.Pointer object that caused the event.
  • +
@@ -1067,7 +1107,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 177 + src/gameobjects/components/Events.js line 189 @@ -1083,19 +1123,23 @@
Type:
-
-

onInputOut :Phaser.Signal

- +
+

+ onInputOut : Phaser.Signal + +

-

This signal is dispatched if the Game Object has inputEnabled set to true, -and receives an out event from a Phaser.Pointer, which was previously over it. -It is sent two arguments: -{any} The Game Object that received the event. -{Phaser.Pointer} The Phaser.Pointer object that caused the event.

+

This signal is dispatched if the Game Object has inputEnabled set to true, +and receives an out event from a Phaser.Pointer, which was previously over it. +It is sent two arguments:

+
    +
  • {any} The Game Object that received the event.
  • +
  • {Phaser.Pointer} The Phaser.Pointer object that caused the event.
  • +
@@ -1146,7 +1190,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 166 + src/gameobjects/components/Events.js line 176 @@ -1162,19 +1206,23 @@
Type:
-
-

onInputOver :Phaser.Signal

- +
+

+ onInputOver : Phaser.Signal + +

-

This signal is dispatched if the Game Object has inputEnabled set to true, -and receives an over event from a Phaser.Pointer. -It is sent two arguments: -{any} The Game Object that received the event. -{Phaser.Pointer} The Phaser.Pointer object that caused the event.

+

This signal is dispatched if the Game Object has inputEnabled set to true, +and receives an over event from a Phaser.Pointer. +It is sent two arguments:

+
    +
  • {any} The Game Object that received the event.
  • +
  • {Phaser.Pointer} The Phaser.Pointer object that caused the event.
  • +
@@ -1225,7 +1273,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 156 + src/gameobjects/components/Events.js line 164 @@ -1241,21 +1289,25 @@
Type:
-
-

onInputUp :Phaser.Signal

- +
+

+ onInputUp : Phaser.Signal + +

-

This signal is dispatched if the Game Object has inputEnabled set to true, -and receives an up event from a Phaser.Pointer. This effectively means the Pointer had been +

This signal is dispatched if the Game Object has inputEnabled set to true, +and receives an up event from a Phaser.Pointer. This effectively means the Pointer had been pressed down, and was then released on the Game Object. -It is sent three arguments: -{any} The Game Object that received the event. -{Phaser.Pointer} The Phaser.Pointer object that caused the event. -{boolean} isOver - Is the Pointer still over the Game Object?

+It is sent three arguments:

+
    +
  • {any} The Game Object that received the event.
  • +
  • {Phaser.Pointer} The Phaser.Pointer object that caused the event.
  • +
  • {boolean} isOver - Is the Pointer still over the Game Object?
  • +
@@ -1306,7 +1358,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 189 + src/gameobjects/components/Events.js line 203 @@ -1322,19 +1374,23 @@
Type:
-
-

onKilled :Phaser.Signal

- +
+

+ onKilled : Phaser.Signal + +

This signal is dispatched when the Game Object is killed. -This happens when Sprite.kill() is called. -Please understand the difference between kill and destroy by looking at their respective methods. -It is sent one argument: -{any} The Game Object that was killed.

+This happens when Sprite.kill() is called. +Please understand the difference between kill and destroy by looking at their respective methods. +It is sent one argument:

+
    +
  • {any} The Game Object that was killed.
  • +
@@ -1385,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 119 + src/gameobjects/components/Events.js line 119 @@ -1401,96 +1457,22 @@
Type:
-
-

onOutOfBounds :Phaser.Signal

- - -
-
- -
-

This signal is dispatched when the Game Object leaves the Phaser.World bounds. -This signal is only if Sprite.checkWorldBounds is set to true. -It is sent one argument: -{any} The Game Object that left the World bounds.

-
- - - -
Type:
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - src/gameobjects/components/Events.js line 137 - - - - - - - -
- - - -
- - - -
-

onRemovedFromGroup :Phaser.Signal

- +
+

+ onOutOfBounds : Phaser.Signal + +

-

This signal is dispatched when the Game Object is removed from a Group. -It is sent two arguments: -{any} The Game Object that was removed from the Group. -{Phaser.Group} The Group it was removed from.

+

This signal is dispatched when the Game Object leaves the Phaser.World bounds. +This signal is only if Sprite.checkWorldBounds is set to true. +It is sent one argument:

+
    +
  • {any} The Game Object that left the World bounds.
  • +
@@ -1541,7 +1523,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 93 + src/gameobjects/components/Events.js line 141 @@ -1557,15 +1539,22 @@
Type:
-
-

onRemovedFromWorld :Phaser.Signal

- +
+

+ onRemovedFromGroup : Phaser.Signal + +

-

This Signal is never used internally by Phaser and is now deprecated.

+

This signal is dispatched when the Game Object is removed from a Group. +It is sent two arguments:

+
    +
  • {any} The Game Object that was removed from the Group.
  • +
  • {Phaser.Group} The Group it was removed from.
  • +
@@ -1601,15 +1590,6 @@
Type:
-
Deprecated:
- -
-
    -
  • Yes
  • -
-
- - @@ -1625,7 +1605,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 100 + src/gameobjects/components/Events.js line 96 @@ -1641,18 +1621,22 @@
Type:
-
-

onRevived :Phaser.Signal

- +
+

+ onRevived : Phaser.Signal + +

This signal is dispatched when the Game Object is revived from a previously killed state. -This happens when Sprite.revive() is called. -It is sent one argument: -{any} The Game Object that was revived.

+This happens when Sprite.revive() is called. +It is sent one argument:

+
    +
  • {any} The Game Object that was revived.
  • +
@@ -1703,7 +1687,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 128 + src/gameobjects/components/Events.js line 130 @@ -1719,9 +1703,11 @@
Type:
-
-

parent :Phaser.Sprite

- +
+

+ parent : Phaser.Sprite + +

@@ -1778,7 +1764,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 35 + src/gameobjects/components/Events.js line 35 @@ -1801,7 +1787,7 @@

Methods

-

+

destroy()

@@ -1856,7 +1842,7 @@

Source:
- src/gameobjects/components/Events.js line 43 + src/gameobjects/components/Events.js line 43 @@ -1899,9 +1885,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1918,9 +1904,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1932,7 +1918,7 @@

- +
@@ -1947,7 +1933,7 @@

- + diff --git a/docs/Phaser.Filter.html b/docs/Phaser.Filter.html index 6d95ef805..07d52beff 100644 --- a/docs/Phaser.Filter.html +++ b/docs/Phaser.Filter.html @@ -6,7 +6,7 @@ Phaser CE Class: Filter - + @@ -125,7 +125,7 @@

-

+

new Filter(game [, uniforms] [, fragmentSrc])

@@ -138,7 +138,7 @@

This is a base Filter class to use for any Phaser filter development. If you want to make a custom filter, this should be your base class.

The default uniforms, types and values for all Filters are:

-
resolution: { type: '2f', value: { x: 256, y: 256 }}
+
resolution: { type: '2f', value: { x: 256, y: 256 }}
 time: { type: '1f', value: 0 }
 mouse: { type: '2f', value: { x: 0.0, y: 0.0 } }
 date: { type: '4fv', value: [ d.getFullYear(),  d.getMonth(),  d.getDate(), d.getHours() *60 * 60 + d.getMinutes() * 60 + d.getSeconds() ] }
@@ -323,7 +323,7 @@ 
Parameters:
Source:
- src/core/Filter.js line 35 + src/core/Filter.js line 35 @@ -367,9 +367,11 @@

Members

-
-

dirty :boolean

- +
+

+ dirty : boolean + +

@@ -433,7 +435,7 @@
Type:
Source:
- src/core/Filter.js line 66 + src/core/Filter.js line 66 @@ -449,9 +451,11 @@
Type:
-
-

fragmentSrc :array|string

- +
+

+ fragmentSrc : array | string + +

@@ -511,7 +515,7 @@
Type:
Source:
- src/core/Filter.js line 120 + src/core/Filter.js line 120 @@ -527,9 +531,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -586,7 +592,7 @@
Type:
Source:
- src/core/Filter.js line 40 + src/core/Filter.js line 40 @@ -602,9 +608,11 @@
Type:
-
-

height :number

- +
+

+ height : number + +

@@ -661,7 +669,7 @@
Type:
Source:
- src/core/Filter.js line 285 + src/core/Filter.js line 285 @@ -677,9 +685,11 @@
Type:
-
-

padding :number

- +
+

+ padding : number + +

@@ -736,7 +746,7 @@
Type:
Source:
- src/core/Filter.js line 72 + src/core/Filter.js line 72 @@ -752,9 +762,11 @@
Type:
-
-

prevPoint :Phaser.Point

- +
+

+ prevPoint : Phaser.Point + +

@@ -811,7 +823,7 @@
Type:
Source:
- src/core/Filter.js line 77 + src/core/Filter.js line 77 @@ -827,9 +839,11 @@
Type:
-
-

type :number

- +
+

+ type : number + +

@@ -886,7 +900,7 @@
Type:
Source:
- src/core/Filter.js line 46 + src/core/Filter.js line 46 @@ -902,9 +916,11 @@
Type:
-
-

uniforms :object

- +
+

+ uniforms : object + +

@@ -961,7 +977,7 @@
Type:
Source:
- src/core/Filter.js line 88 + src/core/Filter.js line 88 @@ -977,9 +993,11 @@
Type:
-
-

width :number

- +
+

+ width : number + +

@@ -1036,7 +1054,7 @@
Type:
Source:
- src/core/Filter.js line 265 + src/core/Filter.js line 265 @@ -1059,7 +1077,7 @@

Methods

-

+

addToWorld( [x] [, y] [, width] [, height] [, anchorX] [, anchorY])

@@ -1069,7 +1087,7 @@

-

Creates a new Phaser.Image object using a blank texture and assigns +

Creates a new Phaser.Image object using a blank texture and assigns this Filter to it. The image is then added to the world.

If you don't provide width and height values then Filter.width and Filter.height are used.

If you do provide width and height values then this filter will be resized to match those @@ -1384,7 +1402,7 @@

Parameters:
Source:
- src/core/Filter.js line 176 + src/core/Filter.js line 176 @@ -1437,7 +1455,7 @@
Returns:
-

+

destroy()

@@ -1492,7 +1510,7 @@

Source:
- src/core/Filter.js line 244 + src/core/Filter.js line 244 @@ -1521,7 +1539,7 @@

-

+

init()

@@ -1576,7 +1594,7 @@

Source:
- src/core/Filter.js line 126 + src/core/Filter.js line 126 @@ -1605,7 +1623,7 @@

-

+

setResolution(width, height)

@@ -1734,7 +1752,7 @@
Parameters:
Source:
- src/core/Filter.js line 137 + src/core/Filter.js line 137 @@ -1763,7 +1781,7 @@
Parameters:
-

+

syncUniforms()

@@ -1818,7 +1836,7 @@

Source:
- src/core/Filter.js line 230 + src/core/Filter.js line 230 @@ -1847,7 +1865,7 @@

-

+

update( [pointer])

@@ -1964,7 +1982,7 @@
Parameters:
Source:
- src/core/Filter.js line 151 + src/core/Filter.js line 151 @@ -2007,9 +2025,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2026,9 +2044,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2040,7 +2058,7 @@
Parameters:
- +

@@ -2055,7 +2073,7 @@

Parameters:
- + diff --git a/docs/Phaser.FlexGrid.html b/docs/Phaser.FlexGrid.html index 62711a218..fd7b9a61a 100644 --- a/docs/Phaser.FlexGrid.html +++ b/docs/Phaser.FlexGrid.html @@ -6,7 +6,7 @@ Phaser CE Class: FlexGrid - + @@ -125,7 +125,7 @@

-

+

new FlexGrid(manager, width, height)

@@ -282,7 +282,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 21 + src/core/FlexGrid.js line 21 @@ -326,9 +326,11 @@

Members

-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -385,7 +387,7 @@
Type:
Source:
- src/core/FlexGrid.js line 26 + src/core/FlexGrid.js line 26 @@ -401,9 +403,11 @@
Type:
-
-

manager :Phaser.ScaleManager

- +
+

+ manager : Phaser.ScaleManager + +

@@ -460,7 +464,7 @@
Type:
Source:
- src/core/FlexGrid.js line 31 + src/core/FlexGrid.js line 31 @@ -476,9 +480,11 @@
Type:
-
-

<readonly> positionCustom

- +
+

+ <readonly> positionCustom + +

@@ -573,7 +579,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 46 + src/core/FlexGrid.js line 46 @@ -589,9 +595,11 @@
Properties:
-
-

<readonly> scaleCustom

- +
+

+ <readonly> scaleCustom + +

@@ -686,7 +694,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 55 + src/core/FlexGrid.js line 55 @@ -709,7 +717,7 @@

Methods

-

+

createCustomLayer(width, height [, children])

@@ -890,7 +898,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 104 + src/core/FlexGrid.js line 104 @@ -943,7 +951,7 @@
Returns:
-

+

createFixedLayer( [children])

@@ -1060,7 +1068,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 194 + src/core/FlexGrid.js line 194 @@ -1113,7 +1121,7 @@
Returns:
-

+

createFluidLayer( [children])

@@ -1230,7 +1238,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 141 + src/core/FlexGrid.js line 141 @@ -1283,7 +1291,7 @@
Returns:
-

+

createFullLayer( [children])

@@ -1400,7 +1408,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 170 + src/core/FlexGrid.js line 170 @@ -1453,7 +1461,7 @@
Returns:
-

+

debug()

@@ -1508,7 +1516,7 @@

Source:
- src/core/FlexGrid.js line 299 + src/core/FlexGrid.js line 299 @@ -1537,7 +1545,7 @@

-

+

fitSprite(sprite)

@@ -1642,7 +1650,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 284 + src/core/FlexGrid.js line 284 @@ -1671,7 +1679,7 @@
Parameters:
-

+

onResize(width, height)

@@ -1800,7 +1808,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 240 + src/core/FlexGrid.js line 240 @@ -1829,7 +1837,7 @@
Parameters:
-

+

refresh()

@@ -1884,7 +1892,7 @@

Source:
- src/core/FlexGrid.js line 256 + src/core/FlexGrid.js line 256 @@ -1913,7 +1921,7 @@

-

+

reset()

@@ -1968,7 +1976,7 @@

Source:
- src/core/FlexGrid.js line 218 + src/core/FlexGrid.js line 218 @@ -1997,7 +2005,7 @@

-

+

setSize(width, height)

@@ -2126,7 +2134,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 77 + src/core/FlexGrid.js line 77 @@ -2169,9 +2177,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2188,9 +2196,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2202,7 +2210,7 @@
Parameters:
- +
@@ -2217,7 +2225,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexLayer.html b/docs/Phaser.FlexLayer.html index 641f72524..2ac160b0b 100644 --- a/docs/Phaser.FlexLayer.html +++ b/docs/Phaser.FlexLayer.html @@ -6,7 +6,7 @@ Phaser CE Class: FlexLayer - + @@ -125,7 +125,7 @@

-

+

new FlexLayer(manager, position, bounds, scale)

@@ -305,7 +305,7 @@
Parameters:
Source:
- src/core/FlexLayer.js line 22 + src/core/FlexLayer.js line 22 @@ -360,9 +360,11 @@

Members

-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -435,7 +437,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -451,9 +453,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -519,7 +523,7 @@
Type:
Source:
- src/core/Group.js line 3167 + src/core/Group.js line 3167 @@ -535,9 +539,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -606,7 +612,7 @@
Type:
Source:
- src/core/Group.js line 2827 + src/core/Group.js line 2827 @@ -622,9 +628,11 @@
Type:
-
-

bottom :number

- +
+

+ bottom : number + +

@@ -692,7 +700,7 @@
Type:
Source:
- src/core/Group.js line 2990 + src/core/Group.js line 2990 @@ -708,9 +716,11 @@
Type:
-
-

bottomLeft :Phaser.Point

- +
+

+ bottomLeft : Phaser.Point + +

@@ -763,7 +773,7 @@
Type:
Source:
- src/core/FlexLayer.js line 76 + src/core/FlexLayer.js line 76 @@ -779,9 +789,11 @@
Type:
-
-

bottomMiddle :Phaser.Point

- +
+

+ bottomMiddle : Phaser.Point + +

@@ -834,7 +846,7 @@
Type:
Source:
- src/core/FlexLayer.js line 81 + src/core/FlexLayer.js line 81 @@ -850,9 +862,11 @@
Type:
-
-

bottomRight :Phaser.Point

- +
+

+ bottomRight : Phaser.Point + +

@@ -905,7 +919,7 @@
Type:
Source:
- src/core/FlexLayer.js line 86 + src/core/FlexLayer.js line 86 @@ -921,9 +935,11 @@
Type:
-
-

bounds :Phaser.Rectangle

- +
+

+ bounds : Phaser.Rectangle + +

@@ -976,7 +992,7 @@
Type:
Source:
- src/core/FlexLayer.js line 51 + src/core/FlexLayer.js line 51 @@ -992,9 +1008,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -1067,7 +1085,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1083,9 +1101,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -1152,7 +1172,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1168,9 +1188,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -1238,7 +1260,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1254,9 +1276,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -1324,7 +1348,7 @@
Type:
Source:
- src/core/Group.js line 2878 + src/core/Group.js line 2878 @@ -1340,9 +1364,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1408,7 +1434,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1424,9 +1450,11 @@
Type:
-
-

classType :function

- +
+

+ classType : function + +

@@ -1500,7 +1528,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1516,9 +1544,11 @@
Type:
-
-

cursor :DisplayObject

- +
+

+ cursor : DisplayObject + +

@@ -1585,7 +1615,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1601,9 +1631,11 @@
Type:
-
-

<readonly> cursorIndex :integer

- +
+

+ <readonly> cursorIndex : integer + +

@@ -1669,7 +1701,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1685,9 +1717,11 @@
Type:
-
-

enableBody :boolean

- +
+

+ enableBody : boolean + +

@@ -1755,7 +1789,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1771,9 +1805,11 @@
Type:
-
-

enableBodyDebug :boolean

- +
+

+ enableBodyDebug : boolean + +

@@ -1840,7 +1876,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -1856,9 +1892,11 @@
Type:
-
-

exists :boolean

- +
+

+ exists : boolean + +

@@ -1931,7 +1969,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -1947,9 +1985,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -2015,7 +2055,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2031,9 +2071,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -2104,7 +2146,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2120,9 +2162,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -2190,7 +2234,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2206,9 +2250,11 @@
Type:
-
-

<protected> game :Phaser.Game

- +
+

+ <protected> game : Phaser.Game + +

@@ -2274,7 +2320,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2290,9 +2336,11 @@
Type:
-
-

grid :Phaser.FlexGrid

- +
+

+ grid : Phaser.FlexGrid + +

@@ -2349,7 +2397,7 @@
Type:
Source:
- src/core/FlexLayer.js line 34 + src/core/FlexLayer.js line 34 @@ -2365,9 +2413,11 @@
Type:
-
-

hash :array

- +
+

+ hash : array + +

@@ -2437,7 +2487,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2453,9 +2503,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -2531,7 +2583,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2547,9 +2599,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -2617,7 +2671,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2633,9 +2687,11 @@
Type:
-
-

ignoreDestroy :boolean

- +
+

+ ignoreDestroy : boolean + +

@@ -2701,7 +2757,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2717,9 +2773,11 @@
Type:
-
-

inputEnableChildren :boolean

- +
+

+ inputEnableChildren : boolean + +

@@ -2787,7 +2845,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -2803,9 +2861,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -2873,7 +2933,7 @@
Type:
Source:
- src/core/Group.js line 2906 + src/core/Group.js line 2906 @@ -2889,9 +2949,11 @@
Type:
-
-

<readonly> length :integer

- +
+

+ <readonly> length : integer + +

@@ -2957,7 +3019,7 @@
Type:
Source:
- src/core/Group.js line 2810 + src/core/Group.js line 2810 @@ -2973,9 +3035,11 @@
Type:
-
-

manager

- +
+

+ manager + +

@@ -3070,7 +3134,7 @@
Properties:
Source:
- src/core/FlexLayer.js line 29 + src/core/FlexLayer.js line 29 @@ -3086,9 +3150,11 @@
Properties:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -3157,7 +3223,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3173,9 +3239,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -3241,7 +3309,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3257,9 +3325,11 @@
Type:
-
-

onChildInputDown :Phaser.Signal

- +
+

+ onChildInputDown : Phaser.Signal + +

@@ -3329,7 +3399,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3345,9 +3415,11 @@
Type:
-
-

onChildInputOut :Phaser.Signal

- +
+

+ onChildInputOut : Phaser.Signal + +

@@ -3417,7 +3489,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3433,9 +3505,11 @@
Type:
-
-

onChildInputOver :Phaser.Signal

- +
+

+ onChildInputOver : Phaser.Signal + +

@@ -3505,7 +3579,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3521,9 +3595,11 @@
Type:
-
-

onChildInputUp :Phaser.Signal

- +
+

+ onChildInputUp : Phaser.Signal + +

@@ -3594,7 +3670,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3610,9 +3686,11 @@
Type:
-
-

onDestroy :Phaser.Signal

- +
+

+ onDestroy : Phaser.Signal + +

@@ -3678,7 +3756,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3694,9 +3772,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -3765,7 +3845,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3781,9 +3861,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -3853,7 +3935,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3869,9 +3951,11 @@
Type:
-
-

persist :boolean

- +
+

+ persist : boolean + +

@@ -3928,7 +4012,7 @@
Type:
Source:
- src/core/FlexLayer.js line 41 + src/core/FlexLayer.js line 41 @@ -3944,9 +4028,11 @@
Type:
-
-

physicsBodyType :integer

- +
+

+ physicsBodyType : integer + +

@@ -4013,7 +4099,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -4029,9 +4115,11 @@
Type:
-
-

physicsSortDirection :integer

- +
+

+ physicsSortDirection : integer + +

@@ -4104,7 +4192,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -4120,9 +4208,11 @@
Type:
-
-

<readonly> physicsType :number

- +
+

+ <readonly> physicsType : number + +

@@ -4188,7 +4278,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -4204,9 +4294,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -4273,7 +4365,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4289,9 +4381,11 @@
Type:
-
-

position :Phaser.Point

- +
+

+ position : Phaser.Point + +

@@ -4349,7 +4443,7 @@
Type:
Source:
- src/core/FlexLayer.js line 46 + src/core/FlexLayer.js line 46 @@ -4365,9 +4459,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -4434,7 +4530,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4450,9 +4546,11 @@
Type:
-
+
@@ -4520,7 +4618,7 @@
Type:
Source:
- src/core/Group.js line 2934 + src/core/Group.js line 2934 @@ -4536,9 +4634,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -4606,7 +4706,7 @@
Type:
Source:
- src/core/Group.js line 3151 + src/core/Group.js line 3151 @@ -4622,9 +4722,11 @@
Type:
-
-

scale :Phaser.Point

- +
+

+ scale : Phaser.Point + +

@@ -4682,7 +4784,7 @@
Type:
Source:
- src/core/FlexLayer.js line 56 + src/core/FlexLayer.js line 56 @@ -4698,9 +4800,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -4768,7 +4872,7 @@
Type:
Source:
- src/core/Group.js line 2962 + src/core/Group.js line 2962 @@ -4784,9 +4888,11 @@
Type:
-
-

topLeft :Phaser.Point

- +
+

+ topLeft : Phaser.Point + +

@@ -4839,7 +4945,7 @@
Type:
Source:
- src/core/FlexLayer.js line 61 + src/core/FlexLayer.js line 61 @@ -4855,9 +4961,11 @@
Type:
-
-

topMiddle :Phaser.Point

- +
+

+ topMiddle : Phaser.Point + +

@@ -4910,7 +5018,7 @@
Type:
Source:
- src/core/FlexLayer.js line 66 + src/core/FlexLayer.js line 66 @@ -4926,9 +5034,11 @@
Type:
-
-

topRight :Phaser.Point

- +
+

+ topRight : Phaser.Point + +

@@ -4981,7 +5091,7 @@
Type:
Source:
- src/core/FlexLayer.js line 71 + src/core/FlexLayer.js line 71 @@ -4997,9 +5107,11 @@
Type:
-
-

<readonly> total :integer

- +
+

+ <readonly> total : integer + +

@@ -5065,7 +5177,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -5081,9 +5193,11 @@
Type:
-
-

<protected> type :integer

- +
+

+ <protected> type : integer + +

@@ -5149,7 +5263,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -5165,9 +5279,11 @@
Type:
-
-

updateOnlyExistingChildren :boolean

- +
+

+ updateOnlyExistingChildren : boolean + +

@@ -5233,7 +5349,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -5249,9 +5365,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -5317,7 +5435,7 @@
Type:
Source:
- src/core/Group.js line 3160 + src/core/Group.js line 3160 @@ -5333,9 +5451,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -5407,7 +5527,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5423,9 +5543,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -5496,7 +5618,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5512,9 +5634,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -5585,7 +5709,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5601,9 +5725,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -5674,7 +5800,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5690,9 +5816,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -5763,7 +5891,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5779,9 +5907,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -5847,7 +5977,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5863,9 +5993,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -5933,7 +6065,7 @@
Type:
Source:
- src/core/Group.js line 3133 + src/core/Group.js line 3133 @@ -5949,9 +6081,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -6019,7 +6153,7 @@
Type:
Source:
- src/core/Group.js line 3142 + src/core/Group.js line 3142 @@ -6035,9 +6169,11 @@
Type:
-
-

<readonly> z :integer

- +
+

+ <readonly> z : integer + +

@@ -6104,7 +6240,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6127,7 +6263,7 @@

Methods

-

+

add(child [, silent] [, index])

@@ -6342,7 +6478,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6395,7 +6531,7 @@
Returns:
-

+

addAll(property, amount [, checkAlive] [, checkVisible])

@@ -6620,7 +6756,7 @@
Parameters:
Source:
- src/core/Group.js line 1431 + src/core/Group.js line 1431 @@ -6649,7 +6785,7 @@
Parameters:
-

+

addAt(child [, index] [, silent])

@@ -6862,7 +6998,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6915,7 +7051,7 @@
Returns:
-

+

addChild(child)

@@ -7029,7 +7165,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7082,7 +7218,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -7220,7 +7356,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7273,7 +7409,7 @@
Returns:
-

+

addMultiple(children [, silent])

@@ -7451,7 +7587,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7507,7 +7643,7 @@
Returns:
-

+

addToHash(child)

@@ -7622,7 +7758,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7675,7 +7811,7 @@
Returns:
-

+

align(width, height, cellWidth, cellHeight [, position] [, offset])

@@ -8017,7 +8153,7 @@
Parameters:
Source:
- src/core/Group.js line 689 + src/core/Group.js line 689 @@ -8070,7 +8206,7 @@
Returns:
-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -8360,7 +8496,7 @@
Parameters:
Source:
- src/core/Group.js line 3018 + src/core/Group.js line 3018 @@ -8413,7 +8549,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -8704,7 +8840,7 @@
Parameters:
Source:
- src/core/Group.js line 3060 + src/core/Group.js line 3060 @@ -8757,7 +8893,7 @@
Returns:
-

+

<protected> ascendingSortHandler(a, b)

@@ -8895,7 +9031,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -8924,7 +9060,7 @@
Parameters:
-

+

bringToTop(child)

@@ -9038,7 +9174,7 @@
Parameters:
Source:
- src/core/Group.js line 914 + src/core/Group.js line 914 @@ -9091,7 +9227,7 @@
Returns:
-

+

callAll(method [, context], args)

@@ -9301,7 +9437,7 @@
Parameters:
Source:
- src/core/Group.js line 1621 + src/core/Group.js line 1621 @@ -9330,7 +9466,7 @@
Parameters:
-

+

callAllExists(callback, existsValue, parameter)

@@ -9521,7 +9657,7 @@
Parameters:
Source:
- src/core/Group.js line 1537 + src/core/Group.js line 1537 @@ -9550,7 +9686,7 @@
Parameters:
-

+

<protected> callbackFromArray(child, callback, length)

@@ -9712,7 +9848,7 @@
Parameters:
Source:
- src/core/Group.js line 1571 + src/core/Group.js line 1571 @@ -9741,7 +9877,7 @@
Parameters:
-

+

checkAll(key, value [, checkAlive] [, checkVisible] [, force])

@@ -10028,7 +10164,7 @@
Parameters:
Source:
- src/core/Group.js line 1361 + src/core/Group.js line 1361 @@ -10083,7 +10219,7 @@
Returns:
-

+

checkAny(key, value [, checkAlive] [, checkVisible])

@@ -10330,7 +10466,7 @@
Parameters:
Source:
- src/core/Group.js line 1397 + src/core/Group.js line 1397 @@ -10385,7 +10521,7 @@
Returns:
-

+

checkProperty(child, key, value [, force])

@@ -10627,7 +10763,7 @@
Parameters:
Source:
- src/core/Group.js line 1224 + src/core/Group.js line 1224 @@ -10680,7 +10816,7 @@
Returns:
-

+

contains(child)

@@ -10794,7 +10930,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10843,7 +10979,7 @@
Returns:
-

+

countDead()

@@ -10907,7 +11043,7 @@

Source:
- src/core/Group.js line 2443 + src/core/Group.js line 2443 @@ -10960,7 +11096,7 @@
Returns:
-

+

countLiving()

@@ -11024,7 +11160,7 @@

Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -11077,7 +11213,7 @@
Returns:
-

+

create(x, y [, key] [, frame] [, exists] [, index])

@@ -11418,7 +11554,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -11471,7 +11607,7 @@
Returns:
-

+

createMultiple(quantity, key [, frame] [, exists])

@@ -11749,7 +11885,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11802,7 +11938,7 @@
Returns:
-

+

customSort(sortHandler [, context])

@@ -11962,7 +12098,7 @@
Parameters:
Source:
- src/core/Group.js line 2000 + src/core/Group.js line 2000 @@ -11991,7 +12127,7 @@
Parameters:
-

+

debug()

@@ -12046,7 +12182,7 @@

Source:
- src/core/FlexLayer.js line 101 + src/core/FlexLayer.js line 101 @@ -12075,7 +12211,7 @@

-

+

<protected> descendingSortHandler(a, b)

@@ -12213,7 +12349,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -12242,7 +12378,7 @@
Parameters:
-

+

destroy( [destroyChildren] [, soft])

@@ -12417,7 +12553,7 @@
Parameters:
Source:
- src/core/Group.js line 2756 + src/core/Group.js line 2756 @@ -12446,7 +12582,7 @@
Parameters:
-

+

divideAll(property, amount, checkAlive, checkVisible)

@@ -12633,7 +12769,7 @@
Parameters:
Source:
- src/core/Group.js line 1482 + src/core/Group.js line 1482 @@ -12662,7 +12798,7 @@
Parameters:
-

+

filter(predicate [, checkExists])

@@ -12837,7 +12973,7 @@
Parameters:
Source:
- src/core/Group.js line 1782 + src/core/Group.js line 1782 @@ -12890,7 +13026,7 @@
Returns:
-

+

forEach(callback, callbackContext [, checkExists] [, args])

@@ -13141,7 +13277,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -13170,7 +13306,7 @@
Parameters:
-

+

forEachAlive(callback, callbackContext [, args])

@@ -13379,7 +13515,7 @@
Parameters:
Source:
- src/core/Group.js line 1904 + src/core/Group.js line 1904 @@ -13408,7 +13544,7 @@
Parameters:
-

+

forEachDead(callback, callbackContext [, args])

@@ -13617,7 +13753,7 @@
Parameters:
Source:
- src/core/Group.js line 1932 + src/core/Group.js line 1932 @@ -13646,7 +13782,7 @@
Parameters:
-

+

forEachExists(callback, callbackContext [, args])

@@ -13855,7 +13991,7 @@
Parameters:
Source:
- src/core/Group.js line 1876 + src/core/Group.js line 1876 @@ -13884,7 +14020,7 @@
Parameters:
-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -14100,7 +14236,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -14155,7 +14291,7 @@
Returns:
-

+

getAll( [property] [, value] [, startIndex] [, endIndex])

@@ -14408,7 +14544,7 @@
Parameters:
Source:
- src/core/Group.js line 2497 + src/core/Group.js line 2497 @@ -14463,7 +14599,7 @@
Returns:
-

+

getAt(index)

@@ -14577,7 +14713,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -14633,7 +14769,7 @@
Returns:
-

+

getBottom()

@@ -14698,7 +14834,7 @@

Source:
- src/core/Group.js line 2326 + src/core/Group.js line 2326 @@ -14751,7 +14887,7 @@
Returns:
-

+

getBounds( [targetCoordinateSpace])

@@ -14880,7 +15016,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -14933,7 +15069,7 @@
Returns:
-

+

getByName(name)

@@ -15049,7 +15185,7 @@
Parameters:
Source:
- src/core/Group.js line 1049 + src/core/Group.js line 1049 @@ -15102,7 +15238,7 @@
Returns:
-

+

getChildAt(index)

@@ -15216,7 +15352,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15269,7 +15405,7 @@
Returns:
-

+

getChildIndex(child)

@@ -15383,7 +15519,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15436,7 +15572,7 @@
Returns:
-

+

getClosestTo(object [, callback] [, callbackContext])

@@ -15634,7 +15770,7 @@
Parameters:
Source:
- src/core/Group.js line 2343 + src/core/Group.js line 2343 @@ -15687,7 +15823,7 @@
Returns:
-

+

getFirstAlive( [createIfNull] [, x] [, y] [, key] [, frame])

@@ -15993,7 +16129,7 @@
Parameters:
Source:
- src/core/Group.js line 2210 + src/core/Group.js line 2210 @@ -16046,7 +16182,7 @@
Returns:
-

+

getFirstDead( [createIfNull] [, x] [, y] [, key] [, frame])

@@ -16352,7 +16488,7 @@
Parameters:
Source:
- src/core/Group.js line 2240 + src/core/Group.js line 2240 @@ -16405,7 +16541,7 @@
Returns:
-

+

getFirstExists( [exists] [, createIfNull] [, x] [, y] [, key] [, frame])

@@ -16750,7 +16886,7 @@
Parameters:
Source:
- src/core/Group.js line 2176 + src/core/Group.js line 2176 @@ -16803,7 +16939,7 @@
Returns:
-

+

getFurthestFrom(object [, callback] [, callbackContext])

@@ -17001,7 +17137,7 @@
Parameters:
Source:
- src/core/Group.js line 2387 + src/core/Group.js line 2387 @@ -17054,7 +17190,7 @@
Returns:
-

+

getIndex(child)

@@ -17168,7 +17304,7 @@
Parameters:
Source:
- src/core/Group.js line 1036 + src/core/Group.js line 1036 @@ -17221,7 +17357,7 @@
Returns:
-

+

getLocalBounds()

@@ -17285,7 +17421,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -17338,7 +17474,7 @@
Returns:
-

+

getRandom( [startIndex] [, length])

@@ -17512,7 +17648,7 @@
Parameters:
Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -17565,7 +17701,7 @@
Returns:
-

+

getRandomExists( [startIndex] [, endIndex])

@@ -17740,7 +17876,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -17793,7 +17929,7 @@
Returns:
-

+

getTop()

@@ -17858,7 +17994,7 @@

Source:
- src/core/Group.js line 2309 + src/core/Group.js line 2309 @@ -17911,7 +18047,7 @@
Returns:
-

+

hasProperty(child, key)

@@ -18050,7 +18186,7 @@
Parameters:
Source:
- src/core/Group.js line 1111 + src/core/Group.js line 1111 @@ -18103,7 +18239,7 @@
Returns:
-

+

iterate(key, value, returnType [, callback] [, callbackContext] [, args])

@@ -18437,7 +18573,7 @@
Parameters:
Source:
- src/core/Group.js line 2081 + src/core/Group.js line 2081 @@ -18490,7 +18626,7 @@
Returns:
-

+

killAll()

@@ -18554,7 +18690,7 @@

Source:
- src/core/Group.js line 1499 + src/core/Group.js line 1499 @@ -18583,7 +18719,7 @@

-

+

moveAll(group [, silent])

@@ -18753,7 +18889,7 @@
Parameters:
Source:
- src/core/Group.js line 2591 + src/core/Group.js line 2591 @@ -18806,7 +18942,7 @@
Returns:
-

+

moveDown(child)

@@ -18920,7 +19056,7 @@
Parameters:
Source:
- src/core/Group.js line 976 + src/core/Group.js line 976 @@ -18973,7 +19109,7 @@
Returns:
-

+

moveUp(child)

@@ -19087,7 +19223,7 @@
Parameters:
Source:
- src/core/Group.js line 952 + src/core/Group.js line 952 @@ -19140,7 +19276,7 @@
Returns:
-

+

multiplyAll(property, amount, checkAlive, checkVisible)

@@ -19327,7 +19463,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -19356,7 +19492,7 @@
Parameters:
-

+

next()

@@ -19421,7 +19557,7 @@

Source:
- src/core/Group.js line 840 + src/core/Group.js line 840 @@ -19474,7 +19610,7 @@
Returns:
-

+

<protected> postUpdate()

@@ -19538,7 +19674,7 @@

Source:
- src/core/Group.js line 1761 + src/core/Group.js line 1761 @@ -19567,7 +19703,7 @@

-

+

<protected> preUpdate()

@@ -19631,7 +19767,7 @@

Source:
- src/core/Group.js line 1694 + src/core/Group.js line 1694 @@ -19660,7 +19796,7 @@

-

+

previous()

@@ -19725,7 +19861,7 @@

Source:
- src/core/Group.js line 869 + src/core/Group.js line 869 @@ -19778,7 +19914,7 @@
Returns:
-

+

remove(child [, destroy] [, silent])

@@ -19990,7 +20126,7 @@
Parameters:
Source:
- src/core/Group.js line 2543 + src/core/Group.js line 2543 @@ -20043,7 +20179,7 @@
Returns:
-

+

removeAll( [destroy] [, silent] [, destroyTexture])

@@ -20260,7 +20396,7 @@
Parameters:
Source:
- src/core/Group.js line 2620 + src/core/Group.js line 2620 @@ -20289,7 +20425,7 @@
Parameters:
-

+

removeBetween(startIndex [, endIndex] [, destroy] [, silent])

@@ -20537,7 +20673,7 @@
Parameters:
Source:
- src/core/Group.js line 2668 + src/core/Group.js line 2668 @@ -20566,7 +20702,7 @@
Parameters:
-

+

removeChild(child)

@@ -20680,7 +20816,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -20733,7 +20869,7 @@
Returns:
-

+

removeChildAt(index)

@@ -20847,7 +20983,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -20900,7 +21036,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -21038,7 +21174,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21067,7 +21203,7 @@
Parameters:
-

+

removeFromHash(child)

@@ -21182,7 +21318,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -21235,7 +21371,7 @@
Returns:
-

+

replace(oldChild, newChild)

@@ -21375,7 +21511,7 @@
Parameters:
Source:
- src/core/Group.js line 1072 + src/core/Group.js line 1072 @@ -21428,7 +21564,7 @@
Returns:
-

+

resetAll( [x] [, y] [, key] [, frame] [, checkExists])

@@ -21729,7 +21865,7 @@
Parameters:
Source:
- src/core/Group.js line 1521 + src/core/Group.js line 1521 @@ -21758,7 +21894,7 @@
Parameters:
-

+

resetChild(child [, x] [, y] [, key] [, frame])

@@ -22035,7 +22171,7 @@
Parameters:
Source:
- src/core/Group.js line 2270 + src/core/Group.js line 2270 @@ -22088,7 +22224,7 @@
Returns:
-

+

resetCursor( [index])

@@ -22223,7 +22359,7 @@
Parameters:
Source:
- src/core/Group.js line 813 + src/core/Group.js line 813 @@ -22276,7 +22412,7 @@
Returns:
-

+

resize()

@@ -22331,7 +22467,7 @@

Source:
- src/core/FlexLayer.js line 93 + src/core/FlexLayer.js line 93 @@ -22360,7 +22496,7 @@

-

+

reverse()

@@ -22425,7 +22561,7 @@

Source:
- src/core/Group.js line 1022 + src/core/Group.js line 1022 @@ -22454,7 +22590,7 @@

-

+

reviveAll()

@@ -22518,7 +22654,7 @@

Source:
- src/core/Group.js line 1510 + src/core/Group.js line 1510 @@ -22547,7 +22683,7 @@

-

+

scatter( [rect] [, checkExists])

@@ -22721,7 +22857,7 @@
Parameters:
Source:
- src/core/Group.js line 2723 + src/core/Group.js line 2723 @@ -22750,7 +22886,7 @@
Parameters:
-

+

sendToBack(child)

@@ -22864,7 +23000,7 @@
Parameters:
Source:
- src/core/Group.js line 933 + src/core/Group.js line 933 @@ -22917,7 +23053,7 @@
Returns:
-

+

set(child, key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -23280,7 +23416,7 @@
Parameters:
Source:
- src/core/Group.js line 1254 + src/core/Group.js line 1254 @@ -23333,7 +23469,7 @@
Returns:
-

+

setAll(key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -23662,7 +23798,7 @@
Parameters:
Source:
- src/core/Group.js line 1285 + src/core/Group.js line 1285 @@ -23691,7 +23827,7 @@
Parameters:
-

+

setAllChildren(key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -24020,7 +24156,7 @@
Parameters:
Source:
- src/core/Group.js line 1320 + src/core/Group.js line 1320 @@ -24049,7 +24185,7 @@
Parameters:
-

+

setChildIndex(child, index)

@@ -24187,7 +24323,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -24216,7 +24352,7 @@
Parameters:
-

+

setProperty(child, key, value [, operation] [, force])

@@ -24506,7 +24642,7 @@
Parameters:
Source:
- src/core/Group.js line 1146 + src/core/Group.js line 1146 @@ -24559,7 +24695,7 @@
Returns:
-

+

shuffle()

@@ -24624,7 +24760,7 @@

Source:
- src/core/Group.js line 2742 + src/core/Group.js line 2742 @@ -24653,7 +24789,7 @@

-

+

sort( [key] [, order])

@@ -24831,7 +24967,7 @@
Parameters:
Source:
- src/core/Group.js line 1960 + src/core/Group.js line 1960 @@ -24860,7 +24996,7 @@
Parameters:
-

+

subAll(property, amount, checkAlive, checkVisible)

@@ -25047,7 +25183,7 @@
Parameters:
Source:
- src/core/Group.js line 1448 + src/core/Group.js line 1448 @@ -25076,7 +25212,7 @@
Parameters:
-

+

swap(child1, child2)

@@ -25215,7 +25351,7 @@
Parameters:
Source:
- src/core/Group.js line 898 + src/core/Group.js line 898 @@ -25244,7 +25380,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -25382,7 +25518,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -25411,7 +25547,7 @@
Parameters:
-

+

toGlobal(position)

@@ -25525,7 +25661,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -25580,7 +25716,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -25738,7 +25874,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -25793,7 +25929,7 @@
Returns:
-

+

<protected> update()

@@ -25858,7 +25994,7 @@

Source:
- src/core/Group.js line 1733 + src/core/Group.js line 1733 @@ -25887,7 +26023,7 @@

-

+

updateCache()

@@ -25951,7 +26087,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -26006,7 +26142,7 @@
Returns:
-

+

updateTransform( [parent])

@@ -26140,7 +26276,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -26195,7 +26331,7 @@
Returns:
-

+

<protected> updateZ()

@@ -26260,7 +26396,7 @@

Source:
- src/core/Group.js line 670 + src/core/Group.js line 670 @@ -26289,7 +26425,7 @@

-

+

xy(index, x, y)

@@ -26451,7 +26587,7 @@
Parameters:
Source:
- src/core/Group.js line 1000 + src/core/Group.js line 1000 @@ -26494,9 +26630,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -26513,9 +26649,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -26527,7 +26663,7 @@
Parameters:
- +
@@ -26542,7 +26678,7 @@
Parameters:
- + diff --git a/docs/Phaser.Frame.html b/docs/Phaser.Frame.html index f110c9efd..297f982b3 100644 --- a/docs/Phaser.Frame.html +++ b/docs/Phaser.Frame.html @@ -6,7 +6,7 @@ Phaser CE Class: Frame - + @@ -125,7 +125,7 @@

-

+

new Frame(index, x, y, width, height, name)

@@ -350,7 +350,7 @@
Parameters:
Source:
- src/animation/Frame.js line 19 + src/animation/Frame.js line 19 @@ -394,9 +394,11 @@

Members

-
-

bottom :number

- +
+

+ bottom : number + +

@@ -453,7 +455,7 @@
Type:
Source:
- src/animation/Frame.js line 125 + src/animation/Frame.js line 125 @@ -469,9 +471,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -528,7 +532,7 @@
Type:
Source:
- src/animation/Frame.js line 59 + src/animation/Frame.js line 59 @@ -544,9 +548,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -603,7 +609,7 @@
Type:
Source:
- src/animation/Frame.js line 64 + src/animation/Frame.js line 64 @@ -619,9 +625,11 @@
Type:
-
-

distance :number

- +
+

+ distance : number + +

@@ -678,7 +686,7 @@
Type:
Source:
- src/animation/Frame.js line 69 + src/animation/Frame.js line 69 @@ -694,9 +702,11 @@
Type:
-
-

height :number

- +
+

+ height : number + +

@@ -753,7 +763,7 @@
Type:
Source:
- src/animation/Frame.js line 44 + src/animation/Frame.js line 44 @@ -769,9 +779,11 @@
Type:
-
-

index :number

- +
+

+ index : number + +

@@ -828,7 +840,7 @@
Type:
Source:
- src/animation/Frame.js line 24 + src/animation/Frame.js line 24 @@ -844,9 +856,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -903,7 +917,7 @@
Type:
Source:
- src/animation/Frame.js line 54 + src/animation/Frame.js line 54 @@ -919,9 +933,11 @@
Type:
-
+
@@ -978,7 +994,7 @@
Type:
Source:
- src/animation/Frame.js line 120 + src/animation/Frame.js line 120 @@ -994,9 +1010,11 @@
Type:
-
-

rotated :boolean

- +
+

+ rotated : boolean + +

@@ -1053,7 +1071,7 @@
Type:
Source:
- src/animation/Frame.js line 75 + src/animation/Frame.js line 75 @@ -1069,9 +1087,11 @@
Type:
-
-

sourceSizeH :number

- +
+

+ sourceSizeH : number + +

@@ -1128,7 +1148,7 @@
Type:
Source:
- src/animation/Frame.js line 91 + src/animation/Frame.js line 91 @@ -1144,9 +1164,11 @@
Type:
-
-

sourceSizeW :number

- +
+

+ sourceSizeW : number + +

@@ -1203,7 +1225,7 @@
Type:
Source:
- src/animation/Frame.js line 86 + src/animation/Frame.js line 86 @@ -1219,9 +1241,11 @@
Type:
-
-

spriteSourceSizeH :number

- +
+

+ spriteSourceSizeH : number + +

@@ -1278,7 +1302,7 @@
Type:
Source:
- src/animation/Frame.js line 115 + src/animation/Frame.js line 115 @@ -1294,9 +1318,11 @@
Type:
-
-

spriteSourceSizeW :number

- +
+

+ spriteSourceSizeW : number + +

@@ -1353,7 +1379,7 @@
Type:
Source:
- src/animation/Frame.js line 109 + src/animation/Frame.js line 109 @@ -1369,9 +1395,11 @@
Type:
-
-

spriteSourceSizeX :number

- +
+

+ spriteSourceSizeX : number + +

@@ -1428,7 +1456,7 @@
Type:
Source:
- src/animation/Frame.js line 97 + src/animation/Frame.js line 97 @@ -1444,9 +1472,11 @@
Type:
-
-

spriteSourceSizeY :number

- +
+

+ spriteSourceSizeY : number + +

@@ -1503,7 +1533,7 @@
Type:
Source:
- src/animation/Frame.js line 103 + src/animation/Frame.js line 103 @@ -1519,9 +1549,11 @@
Type:
-
-

trimmed :boolean

- +
+

+ trimmed : boolean + +

@@ -1578,7 +1610,7 @@
Type:
Source:
- src/animation/Frame.js line 81 + src/animation/Frame.js line 81 @@ -1594,9 +1626,11 @@
Type:
-
-

width :number

- +
+

+ width : number + +

@@ -1653,7 +1687,7 @@
Type:
Source:
- src/animation/Frame.js line 39 + src/animation/Frame.js line 39 @@ -1669,9 +1703,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -1728,7 +1764,7 @@
Type:
Source:
- src/animation/Frame.js line 29 + src/animation/Frame.js line 29 @@ -1744,9 +1780,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -1803,7 +1841,7 @@
Type:
Source:
- src/animation/Frame.js line 34 + src/animation/Frame.js line 34 @@ -1826,7 +1864,7 @@

Methods

-

+

clone()

@@ -1882,7 +1920,7 @@

Source:
- src/animation/Frame.js line 182 + src/animation/Frame.js line 182 @@ -1935,7 +1973,7 @@
Returns:
-

+

getRect( [out])

@@ -2052,7 +2090,7 @@
Parameters:
Source:
- src/animation/Frame.js line 205 + src/animation/Frame.js line 205 @@ -2105,7 +2143,7 @@
Returns:
-

+

resize(width, height)

@@ -2234,7 +2272,7 @@
Parameters:
Source:
- src/animation/Frame.js line 131 + src/animation/Frame.js line 131 @@ -2263,7 +2301,7 @@
Parameters:
-

+

setTrim(trimmed, actualWidth, actualHeight, destX, destY, destWidth, destHeight)

@@ -2512,7 +2550,7 @@
Parameters:
Source:
- src/animation/Frame.js line 152 + src/animation/Frame.js line 152 @@ -2555,9 +2593,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2574,9 +2612,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2588,7 +2626,7 @@
Parameters:
- +
@@ -2603,7 +2641,7 @@
Parameters:
- + diff --git a/docs/Phaser.FrameData.html b/docs/Phaser.FrameData.html index 93fe5fa15..aa1030100 100644 --- a/docs/Phaser.FrameData.html +++ b/docs/Phaser.FrameData.html @@ -6,7 +6,7 @@ Phaser CE Class: FrameData - + @@ -125,7 +125,7 @@

-

+

new FrameData()

@@ -180,7 +180,7 @@

Source:
- src/animation/FrameData.js line 13 + src/animation/FrameData.js line 13 @@ -224,9 +224,11 @@

Members

-
-

<readonly> total :number

- +
+

+ <readonly> total : number + +

@@ -283,7 +285,7 @@
Type:
Source:
- src/animation/FrameData.js line 267 + src/animation/FrameData.js line 267 @@ -306,7 +308,7 @@

Methods

-

+

addFrame(frame)

@@ -411,7 +413,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 31 + src/animation/FrameData.js line 31 @@ -464,7 +466,7 @@
Returns:
-

+

checkFrameName(name)

@@ -569,7 +571,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 89 + src/animation/FrameData.js line 89 @@ -622,7 +624,7 @@
Returns:
-

+

clone()

@@ -677,7 +679,7 @@

Source:
- src/animation/FrameData.js line 107 + src/animation/FrameData.js line 107 @@ -730,7 +732,7 @@
Returns:
-

+

destroy()

@@ -785,7 +787,7 @@

Source:
- src/animation/FrameData.js line 251 + src/animation/FrameData.js line 251 @@ -814,7 +816,7 @@

-

+

getFrame(index)

@@ -919,7 +921,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 53 + src/animation/FrameData.js line 53 @@ -972,7 +974,7 @@
Returns:
-

+

getFrameByName(name)

@@ -1077,7 +1079,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 71 + src/animation/FrameData.js line 71 @@ -1130,7 +1132,7 @@
Returns:
-

+

getFrameIndexes( [frames] [, useNumericIndex] [, output])

@@ -1332,7 +1334,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 204 + src/animation/FrameData.js line 204 @@ -1385,7 +1387,7 @@
Returns:
-

+

getFrameRange(start, end [, output])

@@ -1566,7 +1568,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 135 + src/animation/FrameData.js line 135 @@ -1619,7 +1621,7 @@
Returns:
-

+

getFrames( [frames] [, useNumericIndex] [, output])

@@ -1821,7 +1823,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 157 + src/animation/FrameData.js line 157 @@ -1888,9 +1890,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1907,9 +1909,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1921,7 +1923,7 @@
Returns:
- +
@@ -1936,7 +1938,7 @@
Returns:
- + diff --git a/docs/Phaser.Game.html b/docs/Phaser.Game.html index 5d2119dd1..41acd5575 100644 --- a/docs/Phaser.Game.html +++ b/docs/Phaser.Game.html @@ -6,7 +6,7 @@ Phaser CE Class: Game - + @@ -125,7 +125,7 @@

-

+

new Game( [width] [, height] [, renderer] [, parent] [, state] [, transparent] [, antialias] [, physicsConfig])

@@ -577,7 +577,7 @@
Parameters:
Source:
- src/core/Game.js line 73 + src/core/Game.js line 73 @@ -621,9 +621,11 @@

Members

-
-

add :Phaser.GameObjectFactory

- +
+

+ add : Phaser.GameObjectFactory + +

@@ -680,7 +682,7 @@
Type:
Source:
- src/core/Game.js line 219 + src/core/Game.js line 219 @@ -696,9 +698,11 @@
Type:
-
-

<readonly> antialias :boolean

- +
+

+ <readonly> antialias : boolean + +

@@ -762,7 +766,7 @@
Type:
Source:
- src/core/Game.js line 152 + src/core/Game.js line 152 @@ -778,9 +782,11 @@
Type:
-
-

cache :Phaser.Cache

- +
+

+ cache : Phaser.Cache + +

@@ -837,7 +843,7 @@
Type:
Source:
- src/core/Game.js line 229 + src/core/Game.js line 229 @@ -853,9 +859,11 @@
Type:
-
-

camera :Phaser.Camera

- +
+

+ camera : Phaser.Camera + +

@@ -912,7 +920,7 @@
Type:
Source:
- src/core/Game.js line 304 + src/core/Game.js line 304 @@ -928,9 +936,11 @@
Type:
-
-

canvas :HTMLCanvasElement

- +
+

+ canvas : HTMLCanvasElement + +

@@ -987,7 +997,7 @@
Type:
Source:
- src/core/Game.js line 309 + src/core/Game.js line 309 @@ -1003,9 +1013,11 @@
Type:
-
-

clearBeforeRender :boolean

- +
+

+ clearBeforeRender : boolean + +

@@ -1070,7 +1082,7 @@
Type:
Source:
- src/core/Game.js line 179 + src/core/Game.js line 179 @@ -1086,9 +1098,11 @@
Type:
-
-

config :object

- +
+

+ config : object + +

@@ -1145,7 +1159,7 @@
Type:
Source:
- src/core/Game.js line 84 + src/core/Game.js line 84 @@ -1161,9 +1175,11 @@
Type:
-
-

context :CanvasRenderingContext2D

- +
+

+ context : CanvasRenderingContext2D + +

@@ -1220,7 +1236,7 @@
Type:
Source:
- src/core/Game.js line 314 + src/core/Game.js line 314 @@ -1236,9 +1252,11 @@
Type:
-
-

create :Phaser.Create

- +
+

+ create : Phaser.Create + +

@@ -1295,7 +1313,7 @@
Type:
Source:
- src/core/Game.js line 329 + src/core/Game.js line 329 @@ -1311,9 +1329,11 @@
Type:
-
-

<protected> currentUpdateID :integer

- +
+

+ <protected> currentUpdateID : integer + +

@@ -1371,7 +1391,7 @@
Type:
Source:
- src/core/Game.js line 399 + src/core/Game.js line 399 @@ -1387,9 +1407,11 @@
Type:
-
-

debug :Phaser.Utils.Debug

- +
+

+ debug : Phaser.Utils.Debug + +

@@ -1446,7 +1468,7 @@
Type:
Source:
- src/core/Game.js line 319 + src/core/Game.js line 319 @@ -1462,9 +1484,11 @@
Type:
-
-

device :Phaser.Device

- +
+

+ device : Phaser.Device + +

@@ -1521,7 +1545,7 @@
Type:
Source:
- src/core/Game.js line 299 + src/core/Game.js line 299 @@ -1537,9 +1561,11 @@
Type:
-
-

forceSingleUpdate :boolean

- +
+

+ forceSingleUpdate : boolean + +

@@ -1596,7 +1622,7 @@
Type:
Source:
- src/core/Game.js line 443 + src/core/Game.js line 443 @@ -1612,9 +1638,11 @@
Type:
-
-

fpsProblemNotifier :Phaser.Signal

- +
+

+ fpsProblemNotifier : Phaser.Signal + +

@@ -1672,7 +1700,7 @@
Type:
Source:
- src/core/Game.js line 438 + src/core/Game.js line 438 @@ -1688,9 +1716,11 @@
Type:
-
-

<readonly> height :integer

- +
+

+ <readonly> height : integer + +

@@ -1755,7 +1785,7 @@
Type:
Source:
- src/core/Game.js line 118 + src/core/Game.js line 118 @@ -1771,9 +1801,11 @@
Type:
-
-

<readonly> id :number

- +
+

+ <readonly> id : number + +

@@ -1830,7 +1862,7 @@
Type:
Source:
- src/core/Game.js line 79 + src/core/Game.js line 79 @@ -1846,9 +1878,11 @@
Type:
-
-

input :Phaser.Input

- +
+

+ input : Phaser.Input + +

@@ -1905,7 +1939,7 @@
Type:
Source:
- src/core/Game.js line 234 + src/core/Game.js line 234 @@ -1921,9 +1955,11 @@
Type:
-
-

<readonly> isBooted :boolean

- +
+

+ <readonly> isBooted : boolean + +

@@ -1980,7 +2016,7 @@
Type:
Source:
- src/core/Game.js line 202 + src/core/Game.js line 202 @@ -1996,9 +2032,11 @@
Type:
-
-

<readonly> isRunning :boolean

- +
+

+ <readonly> isRunning : boolean + +

@@ -2055,7 +2093,7 @@
Type:
Source:
- src/core/Game.js line 208 + src/core/Game.js line 208 @@ -2071,9 +2109,11 @@
Type:
-
-

load :Phaser.Loader

- +
+

+ load : Phaser.Loader + +

@@ -2130,7 +2170,7 @@
Type:
Source:
- src/core/Game.js line 239 + src/core/Game.js line 239 @@ -2146,9 +2186,11 @@
Type:
-
-

lockRender :boolean

- +
+

+ lockRender : boolean + +

@@ -2207,7 +2249,7 @@
Type:
Source:
- src/core/Game.js line 338 + src/core/Game.js line 338 @@ -2223,9 +2265,11 @@
Type:
-
-

make :Phaser.GameObjectCreator

- +
+

+ make : Phaser.GameObjectCreator + +

@@ -2282,7 +2326,7 @@
Type:
Source:
- src/core/Game.js line 224 + src/core/Game.js line 224 @@ -2298,9 +2342,11 @@
Type:
-
-

math :Phaser.Math

- +
+

+ math : Phaser.Math + +

@@ -2357,7 +2403,7 @@
Type:
Source:
- src/core/Game.js line 244 + src/core/Game.js line 244 @@ -2373,9 +2419,11 @@
Type:
-
-

<readonly> multiTexture :boolean

- +
+

+ <readonly> multiTexture : boolean + +

@@ -2436,7 +2484,7 @@
Type:
Source:
- src/core/Game.js line 165 + src/core/Game.js line 165 @@ -2452,9 +2500,11 @@
Type:
-
-

net :Phaser.Net

- +
+

+ net : Phaser.Net + +

@@ -2511,7 +2561,7 @@
Type:
Source:
- src/core/Game.js line 249 + src/core/Game.js line 249 @@ -2527,9 +2577,11 @@
Type:
-
-

onBlur :Phaser.Signal

- +
+

+ onBlur : Phaser.Signal + +

@@ -2586,7 +2638,7 @@
Type:
Source:
- src/core/Game.js line 374 + src/core/Game.js line 374 @@ -2602,9 +2654,11 @@
Type:
-
-

onFocus :Phaser.Signal

- +
+

+ onFocus : Phaser.Signal + +

@@ -2661,7 +2715,7 @@
Type:
Source:
- src/core/Game.js line 379 + src/core/Game.js line 379 @@ -2677,9 +2731,11 @@
Type:
-
-

onPause :Phaser.Signal

- +
+

+ onPause : Phaser.Signal + +

@@ -2736,7 +2792,7 @@
Type:
Source:
- src/core/Game.js line 364 + src/core/Game.js line 364 @@ -2752,9 +2808,11 @@
Type:
-
-

onResume :Phaser.Signal

- +
+

+ onResume : Phaser.Signal + +

@@ -2811,7 +2869,7 @@
Type:
Source:
- src/core/Game.js line 369 + src/core/Game.js line 369 @@ -2827,9 +2885,11 @@
Type:
-
-

<readonly> parent :string|HTMLElement

- +
+

+ <readonly> parent : string | HTMLElement + +

@@ -2889,7 +2949,7 @@
Type:
Source:
- src/core/Game.js line 96 + src/core/Game.js line 96 @@ -2905,9 +2965,11 @@
Type:
-
-

particles :Phaser.Particles

- +
+

+ particles : Phaser.Particles + +

@@ -2964,7 +3026,7 @@
Type:
Source:
- src/core/Game.js line 324 + src/core/Game.js line 324 @@ -2980,9 +3042,11 @@
Type:
-
-

paused :boolean

- +
+

+ paused : boolean + +

@@ -3040,7 +3104,7 @@
Type:
Source:
- src/core/Game.js line 1268 + src/core/Game.js line 1268 @@ -3056,9 +3120,11 @@
Type:
-
-

<readonly> pendingStep :boolean

- +
+

+ <readonly> pendingStep : boolean + +

@@ -3115,7 +3181,7 @@
Type:
Source:
- src/core/Game.js line 352 + src/core/Game.js line 352 @@ -3131,9 +3197,11 @@
Type:
-
-

physics :Phaser.Physics

- +
+

+ physics : Phaser.Physics + +

@@ -3190,7 +3258,7 @@
Type:
Source:
- src/core/Game.js line 284 + src/core/Game.js line 284 @@ -3206,9 +3274,11 @@
Type:
-
-

physicsConfig :object

- +
+

+ physicsConfig : object + +

@@ -3265,7 +3335,7 @@
Type:
Source:
- src/core/Game.js line 89 + src/core/Game.js line 89 @@ -3281,9 +3351,11 @@
Type:
-
-

plugins :Phaser.PluginManager

- +
+

+ plugins : Phaser.PluginManager + +

@@ -3340,7 +3412,7 @@
Type:
Source:
- src/core/Game.js line 289 + src/core/Game.js line 289 @@ -3356,9 +3428,11 @@
Type:
-
-

preserveDrawingBuffer :boolean

- +
+

+ preserveDrawingBuffer : boolean + +

@@ -3415,7 +3489,7 @@
Type:
Source:
- src/core/Game.js line 171 + src/core/Game.js line 171 @@ -3431,9 +3505,11 @@
Type:
-
-

<protected> raf :Phaser.RequestAnimationFrame

- +
+

+ <protected> raf : Phaser.RequestAnimationFrame + +

@@ -3490,7 +3566,7 @@
Type:
Source:
- src/core/Game.js line 214 + src/core/Game.js line 214 @@ -3506,9 +3582,11 @@
Type:
-
-

<protected> renderer :PIXI.CanvasRenderer|PIXI.WebGLRenderer

- +
+

+ <protected> renderer : PIXI.CanvasRenderer | PIXI.WebGLRenderer + +

@@ -3568,7 +3646,7 @@
Type:
Source:
- src/core/Game.js line 185 + src/core/Game.js line 185 @@ -3584,9 +3662,11 @@
Type:
-
-

<readonly> renderType :number

- +
+

+ <readonly> renderType : number + +

@@ -3643,7 +3723,7 @@
Type:
Source:
- src/core/Game.js line 191 + src/core/Game.js line 191 @@ -3659,9 +3739,11 @@
Type:
-
-

<readonly> resolution :integer

- +
+

+ <readonly> resolution : integer + +

@@ -3725,7 +3807,7 @@
Type:
Source:
- src/core/Game.js line 127 + src/core/Game.js line 127 @@ -3741,9 +3823,11 @@
Type:
-
-

rnd :Phaser.RandomDataGenerator

- +
+

+ rnd : Phaser.RandomDataGenerator + +

@@ -3800,7 +3884,7 @@
Type:
Source:
- src/core/Game.js line 294 + src/core/Game.js line 294 @@ -3816,9 +3900,11 @@
Type:
-
-

scale :Phaser.ScaleManager

- +
+

+ scale : Phaser.ScaleManager + +

@@ -3875,7 +3961,7 @@
Type:
Source:
- src/core/Game.js line 254 + src/core/Game.js line 254 @@ -3891,9 +3977,11 @@
Type:
-
-

sound :Phaser.SoundManager

- +
+

+ sound : Phaser.SoundManager + +

@@ -3950,7 +4038,7 @@
Type:
Source:
- src/core/Game.js line 259 + src/core/Game.js line 259 @@ -3966,9 +4054,11 @@
Type:
-
-

stage :Phaser.Stage

- +
+

+ stage : Phaser.Stage + +

@@ -4025,7 +4115,7 @@
Type:
Source:
- src/core/Game.js line 264 + src/core/Game.js line 264 @@ -4041,9 +4131,11 @@
Type:
-
-

state :Phaser.StateManager

- +
+

+ state : Phaser.StateManager + +

@@ -4100,7 +4192,7 @@
Type:
Source:
- src/core/Game.js line 196 + src/core/Game.js line 196 @@ -4116,9 +4208,11 @@
Type:
-
-

<readonly> stepCount :number

- +
+

+ <readonly> stepCount : number + +

@@ -4175,7 +4269,7 @@
Type:
Source:
- src/core/Game.js line 359 + src/core/Game.js line 359 @@ -4191,9 +4285,11 @@
Type:
-
-

<readonly> stepping :boolean

- +
+

+ <readonly> stepping : boolean + +

@@ -4250,7 +4346,7 @@
Type:
Source:
- src/core/Game.js line 345 + src/core/Game.js line 345 @@ -4266,9 +4362,11 @@
Type:
-
-

time :Phaser.Time

- +
+

+ time : Phaser.Time + +

@@ -4325,7 +4423,7 @@
Type:
Source:
- src/core/Game.js line 269 + src/core/Game.js line 269 @@ -4341,9 +4439,11 @@
Type:
-
-

transparent :boolean

- +
+

+ transparent : boolean + +

@@ -4400,7 +4500,7 @@
Type:
Source:
- src/core/Game.js line 145 + src/core/Game.js line 145 @@ -4416,9 +4516,11 @@
Type:
-
-

tweens :Phaser.TweenManager

- +
+

+ tweens : Phaser.TweenManager + +

@@ -4475,7 +4577,7 @@
Type:
Source:
- src/core/Game.js line 274 + src/core/Game.js line 274 @@ -4491,9 +4593,11 @@
Type:
-
-

<protected> updatesThisFrame :integer

- +
+

+ <protected> updatesThisFrame : integer + +

@@ -4550,7 +4654,7 @@
Type:
Source:
- src/core/Game.js line 406 + src/core/Game.js line 406 @@ -4566,9 +4670,11 @@
Type:
-
-

<readonly> width :integer

- +
+

+ <readonly> width : integer + +

@@ -4633,7 +4739,7 @@
Type:
Source:
- src/core/Game.js line 107 + src/core/Game.js line 107 @@ -4649,9 +4755,11 @@
Type:
-
-

world :Phaser.World

- +
+

+ world : Phaser.World + +

@@ -4708,7 +4816,7 @@
Type:
Source:
- src/core/Game.js line 279 + src/core/Game.js line 279 @@ -4731,7 +4839,7 @@

Methods

-

+

<protected> boot()

@@ -4786,7 +4894,7 @@

Source:
- src/core/Game.js line 611 + src/core/Game.js line 611 @@ -4815,7 +4923,7 @@

-

+

destroy()

@@ -4873,7 +4981,7 @@

Source:
- src/core/Game.js line 1109 + src/core/Game.js line 1109 @@ -4902,7 +5010,7 @@

-

+

disableStep()

@@ -4957,7 +5065,7 @@

Source:
- src/core/Game.js line 1084 + src/core/Game.js line 1084 @@ -4986,7 +5094,7 @@

-

+

enableStep()

@@ -5042,7 +5150,7 @@

Source:
- src/core/Game.js line 1070 + src/core/Game.js line 1070 @@ -5071,7 +5179,7 @@

-

+

<protected> focusGain(event)

@@ -5176,7 +5284,7 @@
Parameters:
Source:
- src/core/Game.js line 1246 + src/core/Game.js line 1246 @@ -5205,7 +5313,7 @@
Parameters:
-

+

<protected> focusLoss(event)

@@ -5310,7 +5418,7 @@
Parameters:
Source:
- src/core/Game.js line 1228 + src/core/Game.js line 1228 @@ -5339,7 +5447,7 @@
Parameters:
-

+

<protected> gamePaused(event)

@@ -5444,7 +5552,7 @@
Parameters:
Source:
- src/core/Game.js line 1162 + src/core/Game.js line 1162 @@ -5473,7 +5581,7 @@
Parameters:
-

+

<protected> gameResumed(event)

@@ -5578,7 +5686,7 @@
Parameters:
Source:
- src/core/Game.js line 1194 + src/core/Game.js line 1194 @@ -5607,7 +5715,7 @@
Parameters:
-

+

<protected> parseConfig()

@@ -5662,7 +5770,7 @@

Source:
- src/core/Game.js line 526 + src/core/Game.js line 526 @@ -5691,7 +5799,7 @@

-

+

<protected> setUpRenderer()

@@ -5746,7 +5854,7 @@

Source:
- src/core/Game.js line 776 + src/core/Game.js line 776 @@ -5775,7 +5883,7 @@

-

+

<protected> showDebugHeader()

@@ -5830,7 +5938,7 @@

Source:
- src/core/Game.js line 709 + src/core/Game.js line 709 @@ -5859,7 +5967,7 @@

-

+

step()

@@ -5915,7 +6023,7 @@

Source:
- src/core/Game.js line 1096 + src/core/Game.js line 1096 @@ -5944,7 +6052,7 @@

-

+

<protected> update(time)

@@ -6049,7 +6157,7 @@
Parameters:
Source:
- src/core/Game.js line 886 + src/core/Game.js line 886 @@ -6078,7 +6186,7 @@
Parameters:
-

+

<protected> updateLogic(timeStep)

@@ -6183,7 +6291,7 @@
Parameters:
Source:
- src/core/Game.js line 986 + src/core/Game.js line 986 @@ -6212,7 +6320,7 @@
Parameters:
-

+

<protected> updateRender(elapsedTime)

@@ -6325,7 +6433,7 @@
Parameters:
Source:
- src/core/Game.js line 1033 + src/core/Game.js line 1033 @@ -6368,9 +6476,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -6387,9 +6495,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -6401,7 +6509,7 @@
Parameters:
- +
@@ -6416,7 +6524,7 @@
Parameters:
- + diff --git a/docs/Phaser.GameObjectCreator.html b/docs/Phaser.GameObjectCreator.html index 7a9a087ea..19d5d374f 100644 --- a/docs/Phaser.GameObjectCreator.html +++ b/docs/Phaser.GameObjectCreator.html @@ -6,7 +6,7 @@ Phaser CE Class: GameObjectCreator - + @@ -125,7 +125,7 @@

-

+

new GameObjectCreator(game)

@@ -231,7 +231,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 15 + src/gameobjects/GameObjectCreator.js line 15 @@ -275,9 +275,11 @@

Members

-
-

<protected> game :Phaser.Game

- +
+

+ <protected> game : Phaser.Game + +

@@ -334,7 +336,7 @@
Type:
Source:
- src/gameobjects/GameObjectCreator.js line 21 + src/gameobjects/GameObjectCreator.js line 21 @@ -350,9 +352,11 @@
Type:
-
-

<protected> world :Phaser.World

- +
+

+ <protected> world : Phaser.World + +

@@ -409,7 +413,7 @@
Type:
Source:
- src/gameobjects/GameObjectCreator.js line 27 + src/gameobjects/GameObjectCreator.js line 27 @@ -432,7 +436,7 @@

Methods

-

+

audio(key [, volume] [, loop] [, connect])

@@ -673,7 +677,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 118 + src/gameobjects/GameObjectCreator.js line 118 @@ -726,7 +730,7 @@
Returns:
-

+

audioSprite(key)

@@ -831,7 +835,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 134 + src/gameobjects/GameObjectCreator.js line 134 @@ -884,7 +888,7 @@
Returns:
-

+

bitmapData( [width] [, height] [, key] [, addToCache])

@@ -1130,7 +1134,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 379 + src/gameobjects/GameObjectCreator.js line 379 @@ -1183,7 +1187,7 @@
Returns:
-

+

bitmapText(x, y, font [, text] [, size] [, align])

@@ -1507,7 +1511,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 297 + src/gameobjects/GameObjectCreator.js line 297 @@ -1560,7 +1564,7 @@
Returns:
-

+

button( [x] [, y] [, key] [, callback] [, callbackContext] [, overFrame] [, outFrame] [, downFrame] [, upFrame])

@@ -1961,7 +1965,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 215 + src/gameobjects/GameObjectCreator.js line 215 @@ -2014,7 +2018,7 @@
Returns:
-

+

emitter( [x] [, y] [, maxParticles])

@@ -2222,7 +2226,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 250 + src/gameobjects/GameObjectCreator.js line 250 @@ -2275,7 +2279,7 @@
Returns:
-

+

filter(filter)

@@ -2404,7 +2408,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 407 + src/gameobjects/GameObjectCreator.js line 407 @@ -2457,7 +2461,7 @@
Returns:
-

+

graphics( [x] [, y])

@@ -2622,7 +2626,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 236 + src/gameobjects/GameObjectCreator.js line 236 @@ -2675,7 +2679,7 @@
Returns:
-

+

group(parent [, name] [, addToStage] [, enableBody] [, physicsBodyType])

@@ -2956,7 +2960,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 83 + src/gameobjects/GameObjectCreator.js line 83 @@ -3009,7 +3013,7 @@
Returns:
-

+

image(x, y, key [, frame])

@@ -3233,7 +3237,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 33 + src/gameobjects/GameObjectCreator.js line 33 @@ -3286,7 +3290,7 @@
Returns:
-

+

renderTexture( [width] [, height] [, key] [, addToCache])

@@ -3531,7 +3535,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 353 + src/gameobjects/GameObjectCreator.js line 353 @@ -3584,7 +3588,7 @@
Returns:
-

+

retroFont(font, characterWidth, characterHeight, chars, charsPerRow [, xSpacing] [, ySpacing] [, xOffset] [, yOffset])

@@ -4015,7 +4019,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 269 + src/gameobjects/GameObjectCreator.js line 269 @@ -4068,7 +4072,7 @@
Returns:
-

+

rope(x, y, width, height, key, frame)

@@ -4305,7 +4309,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 181 + src/gameobjects/GameObjectCreator.js line 181 @@ -4358,7 +4362,7 @@
Returns:
-

+

sound(key [, volume] [, loop] [, connect])

@@ -4599,7 +4603,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 147 + src/gameobjects/GameObjectCreator.js line 147 @@ -4652,7 +4656,7 @@
Returns:
-

+

sprite(x, y, key [, frame])

@@ -4874,7 +4878,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 52 + src/gameobjects/GameObjectCreator.js line 52 @@ -4927,7 +4931,7 @@
Returns:
-

+

spriteBatch(parent [, name] [, addToStage])

@@ -5128,7 +5132,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 100 + src/gameobjects/GameObjectCreator.js line 100 @@ -5181,7 +5185,7 @@
Returns:
-

+

text(x, y, text, style)

@@ -5358,7 +5362,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 199 + src/gameobjects/GameObjectCreator.js line 199 @@ -5411,7 +5415,7 @@
Returns:
-

+

tilemap( [key] [, tileWidth] [, tileHeight] [, width] [, height])

@@ -5699,7 +5703,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 331 + src/gameobjects/GameObjectCreator.js line 331 @@ -5728,7 +5732,7 @@
Parameters:
-

+

tileSprite(x, y, width, height, key, frame)

@@ -5962,7 +5966,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 163 + src/gameobjects/GameObjectCreator.js line 163 @@ -6015,7 +6019,7 @@
Returns:
-

+

tween(obj)

@@ -6121,7 +6125,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 68 + src/gameobjects/GameObjectCreator.js line 68 @@ -6188,9 +6192,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -6207,9 +6211,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -6221,7 +6225,7 @@
Returns:
- +
@@ -6236,7 +6240,7 @@
Returns:
- + diff --git a/docs/Phaser.GameObjectFactory.html b/docs/Phaser.GameObjectFactory.html index 702c43aff..3ecbdc8d9 100644 --- a/docs/Phaser.GameObjectFactory.html +++ b/docs/Phaser.GameObjectFactory.html @@ -6,7 +6,7 @@ Phaser CE Class: GameObjectFactory - + @@ -125,7 +125,7 @@

-

+

new GameObjectFactory(game)

@@ -232,7 +232,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 17 + src/gameobjects/GameObjectFactory.js line 17 @@ -276,9 +276,11 @@

Members

-
-

<protected> game :Phaser.Game

- +
+

+ <protected> game : Phaser.Game + +

@@ -335,7 +337,7 @@
Type:
Source:
- src/gameobjects/GameObjectFactory.js line 23 + src/gameobjects/GameObjectFactory.js line 23 @@ -351,9 +353,11 @@
Type:
-
-

<protected> world :Phaser.World

- +
+

+ <protected> world : Phaser.World + +

@@ -410,7 +414,7 @@
Type:
Source:
- src/gameobjects/GameObjectFactory.js line 29 + src/gameobjects/GameObjectFactory.js line 29 @@ -433,7 +437,7 @@

Methods

-

+

audio(key [, volume] [, loop] [, connect])

@@ -674,7 +678,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 236 + src/gameobjects/GameObjectFactory.js line 236 @@ -727,7 +731,7 @@
Returns:
-

+

audioSprite(key)

@@ -832,7 +836,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 268 + src/gameobjects/GameObjectFactory.js line 268 @@ -885,7 +889,7 @@
Returns:
-

+

bitmapData( [width] [, height] [, key] [, addToCache])

@@ -1131,7 +1135,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 532 + src/gameobjects/GameObjectFactory.js line 532 @@ -1184,7 +1188,7 @@
Returns:
-

+

bitmapText(x, y, font [, text] [, size] [, group])

@@ -1506,7 +1510,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 431 + src/gameobjects/GameObjectFactory.js line 431 @@ -1559,7 +1563,7 @@
Returns:
-

+

button( [x] [, y] [, key] [, callback] [, callbackContext] [, overFrame] [, outFrame] [, downFrame] [, upFrame] [, group])

@@ -2040,7 +2044,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 343 + src/gameobjects/GameObjectFactory.js line 343 @@ -2093,7 +2097,7 @@
Returns:
-

+

creature( [x] [, y] [, key] [, group])

@@ -2343,7 +2347,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 131 + src/gameobjects/GameObjectFactory.js line 131 @@ -2396,7 +2400,7 @@
Returns:
-

+

emitter( [x] [, y] [, maxParticles])

@@ -2604,7 +2608,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 384 + src/gameobjects/GameObjectFactory.js line 384 @@ -2657,7 +2661,7 @@
Returns:
-

+

existing(object)

@@ -2762,7 +2766,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 35 + src/gameobjects/GameObjectFactory.js line 35 @@ -2815,7 +2819,7 @@
Returns:
-

+

filter(filter)

@@ -2944,7 +2948,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 560 + src/gameobjects/GameObjectFactory.js line 560 @@ -2997,7 +3001,7 @@
Returns:
-

+

graphics( [x] [, y] [, group])

@@ -3200,7 +3204,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 367 + src/gameobjects/GameObjectFactory.js line 367 @@ -3253,7 +3257,7 @@
Returns:
-

+

group( [parent] [, name] [, addToStage] [, enableBody] [, physicsBodyType])

@@ -3536,7 +3540,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 179 + src/gameobjects/GameObjectFactory.js line 179 @@ -3589,7 +3593,7 @@
Returns:
-

+

image( [x] [, y] [, key] [, frame] [, group])

@@ -3886,7 +3890,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 84 + src/gameobjects/GameObjectFactory.js line 84 @@ -3939,7 +3943,7 @@
Returns:
-

+

physicsGroup( [physicsBodyType] [, parent] [, name] [, addToStage])

@@ -4184,7 +4188,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 196 + src/gameobjects/GameObjectFactory.js line 196 @@ -4237,7 +4241,7 @@
Returns:
-

+

plugin(plugin, parameter)

@@ -4390,7 +4394,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 580 + src/gameobjects/GameObjectFactory.js line 580 @@ -4443,7 +4447,7 @@
Returns:
-

+

renderTexture( [width] [, height] [, key] [, addToCache])

@@ -4688,7 +4692,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 490 + src/gameobjects/GameObjectFactory.js line 490 @@ -4741,7 +4745,7 @@
Returns:
-

+

retroFont(font, characterWidth, characterHeight, chars, charsPerRow [, xSpacing] [, ySpacing] [, xOffset] [, yOffset])

@@ -5172,7 +5176,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 403 + src/gameobjects/GameObjectFactory.js line 403 @@ -5225,7 +5229,7 @@
Returns:
-

+

rope( [x] [, y] [, key] [, frame], points [, group])

@@ -5556,7 +5560,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 302 + src/gameobjects/GameObjectFactory.js line 302 @@ -5609,7 +5613,7 @@
Returns:
-

+

sound(key [, volume] [, loop] [, connect])

@@ -5850,7 +5854,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 252 + src/gameobjects/GameObjectFactory.js line 252 @@ -5903,7 +5907,7 @@
Returns:
-

+

sprite( [x] [, y] [, key] [, frame] [, group])

@@ -6200,7 +6204,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 108 + src/gameobjects/GameObjectFactory.js line 108 @@ -6253,7 +6257,7 @@
Returns:
-

+

spriteBatch(parent [, name] [, addToStage])

@@ -6459,7 +6463,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 215 + src/gameobjects/GameObjectFactory.js line 215 @@ -6512,7 +6516,7 @@
Returns:
-

+

text( [x] [, y] [, text] [, style] [, group])

@@ -6793,7 +6797,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 324 + src/gameobjects/GameObjectFactory.js line 324 @@ -6846,7 +6850,7 @@
Returns:
-

+

tilemap( [key] [, tileWidth] [, tileHeight] [, width] [, height])

@@ -7134,7 +7138,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 467 + src/gameobjects/GameObjectFactory.js line 467 @@ -7187,7 +7191,7 @@
Returns:
-

+

tileSprite(x, y, width, height, key [, frame] [, group])

@@ -7507,7 +7511,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 281 + src/gameobjects/GameObjectFactory.js line 281 @@ -7560,7 +7564,7 @@
Returns:
-

+

tween(object)

@@ -7666,7 +7670,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 164 + src/gameobjects/GameObjectFactory.js line 164 @@ -7719,7 +7723,7 @@
Returns:
-

+

video( [key] [, url])

@@ -7891,7 +7895,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 516 + src/gameobjects/GameObjectFactory.js line 516 @@ -7944,7 +7948,7 @@
Returns:
-

+

weapon( [quantity] [, key] [, frame] [, group] [, bulletClass])

@@ -8243,7 +8247,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 48 + src/gameobjects/GameObjectFactory.js line 48 @@ -8310,9 +8314,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -8329,9 +8333,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -8343,7 +8347,7 @@
Returns:
- +
@@ -8358,7 +8362,7 @@
Returns:
- + diff --git a/docs/Phaser.Gamepad.html b/docs/Phaser.Gamepad.html index acd5f7f53..7ea699198 100644 --- a/docs/Phaser.Gamepad.html +++ b/docs/Phaser.Gamepad.html @@ -6,7 +6,7 @@ Phaser CE Class: Gamepad - + @@ -125,7 +125,7 @@

-

+

new Gamepad(game)

@@ -235,7 +235,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 21 + src/input/Gamepad.js line 21 @@ -279,9 +279,11 @@

Members

-
-

<readonly> active :boolean

- +
+

+ <readonly> active : boolean + +

@@ -338,7 +340,7 @@
Type:
Source:
- src/input/Gamepad.js line 496 + src/input/Gamepad.js line 496 @@ -354,9 +356,11 @@
Type:
-
-

callbackContext :object

- +
+

+ callbackContext : object + +

@@ -413,7 +417,7 @@
Type:
Source:
- src/input/Gamepad.js line 80 + src/input/Gamepad.js line 80 @@ -429,9 +433,11 @@
Type:
-
-

enabled :boolean

- +
+

+ enabled : boolean + +

@@ -495,7 +501,7 @@
Type:
Source:
- src/input/Gamepad.js line 52 + src/input/Gamepad.js line 52 @@ -511,9 +517,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -570,7 +578,7 @@
Type:
Source:
- src/input/Gamepad.js line 26 + src/input/Gamepad.js line 26 @@ -586,9 +594,11 @@
Type:
-
-

onAxisCallback :function

- +
+

+ onAxisCallback : function + +

@@ -645,7 +655,7 @@
Type:
Source:
- src/input/Gamepad.js line 105 + src/input/Gamepad.js line 105 @@ -661,9 +671,11 @@
Type:
-
-

onConnectCallback :function

- +
+

+ onConnectCallback : function + +

@@ -720,7 +732,7 @@
Type:
Source:
- src/input/Gamepad.js line 85 + src/input/Gamepad.js line 85 @@ -736,9 +748,11 @@
Type:
-
-

onDisconnectCallback :function

- +
+

+ onDisconnectCallback : function + +

@@ -795,7 +809,7 @@
Type:
Source:
- src/input/Gamepad.js line 90 + src/input/Gamepad.js line 90 @@ -811,9 +825,11 @@
Type:
-
-

onDownCallback :function

- +
+

+ onDownCallback : function + +

@@ -870,7 +886,7 @@
Type:
Source:
- src/input/Gamepad.js line 95 + src/input/Gamepad.js line 95 @@ -886,9 +902,11 @@
Type:
-
-

onFloatCallback :function

- +
+

+ onFloatCallback : function + +

@@ -945,7 +963,7 @@
Type:
Source:
- src/input/Gamepad.js line 110 + src/input/Gamepad.js line 110 @@ -961,9 +979,11 @@
Type:
-
-

onUpCallback :function

- +
+

+ onUpCallback : function + +

@@ -1020,7 +1040,7 @@
Type:
Source:
- src/input/Gamepad.js line 100 + src/input/Gamepad.js line 100 @@ -1036,9 +1056,11 @@
Type:
-
-

<readonly> pad1 :Phaser.SinglePad

- +
+

+ <readonly> pad1 : Phaser.SinglePad + +

@@ -1095,7 +1117,7 @@
Type:
Source:
- src/input/Gamepad.js line 538 + src/input/Gamepad.js line 538 @@ -1111,9 +1133,11 @@
Type:
-
-

<readonly> pad2 :Phaser.SinglePad

- +
+

+ <readonly> pad2 : Phaser.SinglePad + +

@@ -1170,7 +1194,7 @@
Type:
Source:
- src/input/Gamepad.js line 552 + src/input/Gamepad.js line 552 @@ -1186,9 +1210,11 @@
Type:
-
-

<readonly> pad3 :Phaser.SinglePad

- +
+

+ <readonly> pad3 : Phaser.SinglePad + +

@@ -1245,7 +1271,7 @@
Type:
Source:
- src/input/Gamepad.js line 566 + src/input/Gamepad.js line 566 @@ -1261,9 +1287,11 @@
Type:
-
-

<readonly> pad4 :Phaser.SinglePad

- +
+

+ <readonly> pad4 : Phaser.SinglePad + +

@@ -1320,7 +1348,7 @@
Type:
Source:
- src/input/Gamepad.js line 580 + src/input/Gamepad.js line 580 @@ -1336,9 +1364,11 @@
Type:
-
-

<readonly> padsConnected :number

- +
+

+ <readonly> padsConnected : number + +

@@ -1395,7 +1425,7 @@
Type:
Source:
- src/input/Gamepad.js line 524 + src/input/Gamepad.js line 524 @@ -1411,9 +1441,11 @@
Type:
-
-

<readonly> supported :boolean

- +
+

+ <readonly> supported : boolean + +

@@ -1470,7 +1502,7 @@
Type:
Source:
- src/input/Gamepad.js line 510 + src/input/Gamepad.js line 510 @@ -1493,7 +1525,7 @@

Methods

-

+

addCallbacks(context, callbacks)

@@ -1623,7 +1655,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 139 + src/input/Gamepad.js line 139 @@ -1652,7 +1684,7 @@
Parameters:
-

+

destroy()

@@ -1707,7 +1739,7 @@

Source:
- src/input/Gamepad.js line 476 + src/input/Gamepad.js line 476 @@ -1736,7 +1768,7 @@

-

+

isDown(buttonCode)

@@ -1841,7 +1873,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 457 + src/input/Gamepad.js line 457 @@ -1894,7 +1926,7 @@
Returns:
-

+

justPressed(buttonCode [, duration])

@@ -2055,7 +2087,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 436 + src/input/Gamepad.js line 436 @@ -2108,7 +2140,7 @@
Returns:
-

+

justPressed(buttonCode [, duration])

@@ -2269,7 +2301,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 415 + src/input/Gamepad.js line 415 @@ -2322,7 +2354,7 @@
Returns:
-

+

reset()

@@ -2377,7 +2409,7 @@

Source:
- src/input/Gamepad.js line 400 + src/input/Gamepad.js line 400 @@ -2406,7 +2438,7 @@

-

+

setDeadZones()

@@ -2461,7 +2493,7 @@

Source:
- src/input/Gamepad.js line 373 + src/input/Gamepad.js line 373 @@ -2490,7 +2522,7 @@

-

+

start()

@@ -2546,7 +2578,7 @@

Source:
- src/input/Gamepad.js line 162 + src/input/Gamepad.js line 162 @@ -2575,7 +2607,7 @@

-

+

stop()

@@ -2630,7 +2662,7 @@

Source:
- src/input/Gamepad.js line 386 + src/input/Gamepad.js line 386 @@ -2659,7 +2691,7 @@

-

+

<protected> update()

@@ -2714,7 +2746,7 @@

Source:
- src/input/Gamepad.js line 231 + src/input/Gamepad.js line 231 @@ -2757,9 +2789,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2776,9 +2808,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2790,7 +2822,7 @@

- +
@@ -2805,7 +2837,7 @@

- + diff --git a/docs/Phaser.Graphics.html b/docs/Phaser.Graphics.html index 18bf175de..e62f35f87 100644 --- a/docs/Phaser.Graphics.html +++ b/docs/Phaser.Graphics.html @@ -6,7 +6,7 @@ Phaser CE Class: Graphics - + @@ -125,7 +125,7 @@

-

+

new Graphics(game [, x] [, y])

@@ -138,7 +138,7 @@

A Graphics object is a way to draw primitives to your game. Primitives include forms of geometry, such as Rectangles, Circles and Polygons. They also include lines, arcs and curves. When you initially create a Graphics object it will 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.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.

When a Graphics object is rendered it will render differently based on if the game is running under Canvas or @@ -340,7 +340,7 @@

Parameters:
Source:
- src/gameobjects/Graphics.js line 50 + src/gameobjects/Graphics.js line 50 @@ -417,9 +417,11 @@

Members

-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -496,7 +498,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -512,9 +514,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -590,7 +594,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -606,9 +610,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -679,7 +685,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -695,9 +701,11 @@
Type:
-
-

animations :Phaser.AnimationManager

- +
+

+ animations : Phaser.AnimationManager + +

@@ -764,7 +772,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -787,9 +795,11 @@
Type:
-
-

autoCull :boolean

- +
+

+ autoCull : boolean + +

@@ -859,7 +869,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -875,9 +885,11 @@
Type:
-
-

blendMode :Number

- +
+

+ blendMode : Number + +

@@ -941,7 +953,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 127 + src/gameobjects/Graphics.js line 127 @@ -957,9 +969,11 @@
Type:
-
-

body :Phaser.Physics.Arcade.Body|Phaser.Physics.P2.Body|Phaser.Physics.Ninja.Body|null

- +
+

+ body : Phaser.Physics.Arcade.Body | Phaser.Physics.P2.Body | Phaser.Physics.Ninja.Body | null + +

@@ -1042,7 +1056,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1058,9 +1072,11 @@
Type:
-
-

bottom :number

- +
+

+ bottom : number + +

@@ -1127,7 +1143,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1143,9 +1159,11 @@
Type:
-
-

boundsPadding :Number

- +
+

+ boundsPadding : Number + +

@@ -1202,7 +1220,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 161 + src/gameobjects/Graphics.js line 161 @@ -1218,9 +1236,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -1293,7 +1313,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1309,9 +1329,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -1378,7 +1400,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1394,9 +1416,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -1463,7 +1487,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1479,9 +1503,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -1548,7 +1574,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1564,9 +1590,11 @@
Type:
-
-

checkWorldBounds :boolean

- +
+

+ checkWorldBounds : boolean + +

@@ -1638,7 +1666,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1654,9 +1682,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1722,7 +1752,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1738,9 +1768,11 @@
Type:
-
-

<protected> components :object

- +
+

+ <protected> components : object + +

@@ -1806,7 +1838,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1822,9 +1854,11 @@
Type:
-
-

data :Object

- +
+

+ data : Object + +

@@ -1900,7 +1934,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -1916,9 +1950,11 @@
Type:
-
-

debug :boolean

- +
+

+ debug : boolean + +

@@ -1984,7 +2020,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2000,9 +2036,11 @@
Type:
-
-

<readonly> destroyPhase :boolean

- +
+

+ <readonly> destroyPhase : boolean + +

@@ -2069,7 +2107,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2085,9 +2123,11 @@
Type:
-
-

events :Phaser.Events

- +
+

+ events : Phaser.Events + +

@@ -2154,7 +2194,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2177,9 +2217,11 @@
Type:
-
-

exists :boolean

- +
+

+ exists : boolean + +

@@ -2250,7 +2292,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2266,9 +2308,11 @@
Type:
-
-

fillAlpha :Number

- +
+

+ fillAlpha : Number + +

@@ -2325,7 +2369,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 83 + src/gameobjects/Graphics.js line 83 @@ -2341,9 +2385,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -2409,7 +2455,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2425,9 +2471,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -2498,7 +2546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2514,9 +2562,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -2589,7 +2639,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2605,9 +2655,11 @@
Type:
-
-

<readonly> fresh :boolean

- +
+

+ <readonly> fresh : boolean + +

@@ -2674,7 +2726,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2690,9 +2742,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -2758,7 +2812,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -2774,9 +2828,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -2852,7 +2908,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2868,9 +2924,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -2938,7 +2996,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2954,9 +3012,11 @@
Type:
-
-

<readonly> inCamera :boolean

- +
+

+ <readonly> inCamera : boolean + +

@@ -3023,7 +3083,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3039,9 +3099,11 @@
Type:
-
-

input :Phaser.InputHandler|null

- +
+

+ input : Phaser.InputHandler | null + +

@@ -3112,7 +3174,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3128,9 +3190,11 @@
Type:
-
-

inputEnabled :boolean

- +
+

+ inputEnabled : boolean + +

@@ -3203,7 +3267,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3219,9 +3283,11 @@
Type:
-
-

<readonly> inWorld :boolean

- +
+

+ <readonly> inWorld : boolean + +

@@ -3287,7 +3353,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -3303,9 +3369,11 @@
Type:
-
-

isMask :Boolean

- +
+

+ isMask : Boolean + +

@@ -3362,7 +3430,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 153 + src/gameobjects/Graphics.js line 153 @@ -3378,9 +3446,11 @@
Type:
-
-

key :string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture

- +
+

+ key : string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture + +

@@ -3462,7 +3532,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3478,9 +3548,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -3547,7 +3619,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3563,9 +3635,11 @@
Type:
-
-

lifespan :number

- +
+

+ lifespan : number + +

@@ -3635,7 +3709,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -3651,9 +3725,11 @@
Type:
-
-

lineColor :String

- +
+

+ lineColor : String + +

@@ -3717,7 +3793,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 100 + src/gameobjects/Graphics.js line 100 @@ -3733,9 +3809,11 @@
Type:
-
-

lineWidth :Number

- +
+

+ lineWidth : Number + +

@@ -3792,7 +3870,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 91 + src/gameobjects/Graphics.js line 91 @@ -3808,9 +3886,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -3879,7 +3959,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3895,9 +3975,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -3964,7 +4046,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -3980,9 +4062,11 @@
Type:
-
-

<readonly> offsetX :number

- +
+

+ <readonly> offsetX : number + +

@@ -4050,7 +4134,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4066,9 +4150,11 @@
Type:
-
-

<readonly> offsetY :number

- +
+

+ <readonly> offsetY : number + +

@@ -4136,7 +4222,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4152,9 +4238,11 @@
Type:
-
-

outOfBoundsKill :boolean

- +
+

+ outOfBoundsKill : boolean + +

@@ -4220,7 +4308,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4236,9 +4324,11 @@
Type:
-
-

outOfCameraBoundsKill :boolean

- +
+

+ outOfCameraBoundsKill : boolean + +

@@ -4305,7 +4395,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4321,9 +4411,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -4392,7 +4484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4408,9 +4500,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -4479,7 +4573,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4495,9 +4589,11 @@
Type:
-
-

<readonly> physicsType :number

- +
+

+ <readonly> physicsType : number + +

@@ -4554,7 +4650,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 65 + src/gameobjects/Graphics.js line 65 @@ -4570,9 +4666,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -4639,7 +4737,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4655,9 +4753,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -4725,7 +4825,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4741,9 +4841,11 @@
Type:
-
-

<readonly> previousPosition :Phaser.Point

- +
+

+ <readonly> previousPosition : Phaser.Point + +

@@ -4809,7 +4911,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4825,9 +4927,11 @@
Type:
-
-

<readonly> previousRotation :number

- +
+

+ <readonly> previousRotation : number + +

@@ -4893,7 +4997,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -4909,9 +5013,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -4983,7 +5089,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4999,9 +5105,11 @@
Type:
-
-

<readonly> renderOrderID :number

- +
+

+ <readonly> renderOrderID : number + +

@@ -5068,7 +5176,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5084,9 +5192,11 @@
Type:
-
+
@@ -5153,7 +5263,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5169,9 +5279,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -5240,7 +5352,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5256,9 +5368,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -5327,7 +5441,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5343,9 +5457,11 @@
Type:
-
-

tint :Number

- +
+

+ tint : Number + +

@@ -5409,7 +5525,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 118 + src/gameobjects/Graphics.js line 118 @@ -5425,9 +5541,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -5494,7 +5612,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5510,9 +5628,11 @@
Type:
-
-

type :number

- +
+

+ type : number + +

@@ -5569,7 +5689,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 59 + src/gameobjects/Graphics.js line 59 @@ -5585,9 +5705,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -5665,7 +5787,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -5681,9 +5803,11 @@
Type:
-
-

world :Phaser.Point

- +
+

+ world : Phaser.Point + +

@@ -5751,7 +5875,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5767,9 +5891,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -5846,7 +5972,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5862,9 +5988,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -5935,7 +6063,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5951,9 +6079,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -6024,7 +6154,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6040,9 +6170,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -6113,7 +6245,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6129,9 +6261,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -6207,7 +6341,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6223,9 +6357,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -6291,7 +6427,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6307,9 +6443,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -6381,7 +6519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6397,9 +6535,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -6471,7 +6611,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6487,9 +6627,11 @@
Type:
-
-

<readonly> z :number

- +
+

+ <readonly> z : number + +

@@ -6558,7 +6700,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -6581,7 +6723,7 @@

Methods

-

+

addChild(child)

@@ -6695,7 +6837,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6748,7 +6890,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -6886,7 +7028,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -6939,7 +7081,7 @@
Returns:
-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -7229,7 +7371,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -7282,7 +7424,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -7573,7 +7715,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -7626,7 +7768,7 @@
Returns:
-

+

arc(cx, cy, radius, startAngle, endAngle, anticlockwise, segments)

@@ -7875,7 +8017,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 650 + src/gameobjects/Graphics.js line 650 @@ -7924,7 +8066,7 @@
Returns:
-

+

arcTo(x1, y1, x2, y2, radius)

@@ -8126,7 +8268,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 579 + src/gameobjects/Graphics.js line 579 @@ -8175,7 +8317,7 @@
Returns:
-

+

beginFill(color, alpha)

@@ -8305,7 +8447,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 737 + src/gameobjects/Graphics.js line 737 @@ -8354,7 +8496,7 @@
Returns:
-

+

bezierCurveTo(cpX, cpY, cpX2, cpY2, toX, toY)

@@ -8579,7 +8721,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 519 + src/gameobjects/Graphics.js line 519 @@ -8628,7 +8770,7 @@
Returns:
-

+

clear()

@@ -8683,7 +8825,7 @@

Source:
- src/gameobjects/Graphics.js line 886 + src/gameobjects/Graphics.js line 886 @@ -8732,7 +8874,7 @@
Returns:
-

+

contains(child)

@@ -8846,7 +8988,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8895,7 +9037,7 @@
Returns:
-

+

containsPoint(point)

@@ -9000,7 +9142,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1254 + src/gameobjects/Graphics.js line 1254 @@ -9053,7 +9195,7 @@
Returns:
-

+

destroy( [destroyChildren])

@@ -9183,7 +9325,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 266 + src/gameobjects/Graphics.js line 266 @@ -9212,7 +9354,7 @@
Parameters:
-

+

destroyCachedSprite()

@@ -9267,7 +9409,7 @@

Source:
- src/gameobjects/Graphics.js line 1464 + src/gameobjects/Graphics.js line 1464 @@ -9296,7 +9438,7 @@

-

+

drawCircle(x, y, diameter)

@@ -9449,7 +9591,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 815 + src/gameobjects/Graphics.js line 815 @@ -9498,7 +9640,7 @@
Returns:
-

+

drawEllipse(x, y, width, height)

@@ -9675,7 +9817,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 832 + src/gameobjects/Graphics.js line 832 @@ -9724,7 +9866,7 @@
Returns:
-

+

drawPolygon(path)

@@ -9832,7 +9974,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 850 + src/gameobjects/Graphics.js line 850 @@ -9881,7 +10023,7 @@
Returns:
-

+

drawRect(x, y, width, height)

@@ -10054,7 +10196,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 782 + src/gameobjects/Graphics.js line 782 @@ -10103,7 +10245,7 @@
Returns:
-

+

drawRoundedRect(x, y, width, height, radius)

@@ -10300,7 +10442,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 799 + src/gameobjects/Graphics.js line 799 @@ -10329,7 +10471,7 @@
Parameters:
-

+

drawShape(shape)

@@ -10446,7 +10588,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1476 + src/gameobjects/Graphics.js line 1476 @@ -10499,7 +10641,7 @@
Returns:
-

+

drawTriangle(points [, cull])

@@ -10660,7 +10802,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 280 + src/gameobjects/Graphics.js line 280 @@ -10689,7 +10831,7 @@
Parameters:
-

+

drawTriangles(vertices [, indices] [, cull])

@@ -10893,7 +11035,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 312 + src/gameobjects/Graphics.js line 312 @@ -10922,7 +11064,7 @@
Parameters:
-

+

endFill()

@@ -10977,7 +11119,7 @@

Source:
- src/gameobjects/Graphics.js line 766 + src/gameobjects/Graphics.js line 766 @@ -11026,7 +11168,7 @@
Returns:
-

+

generateTexture( [resolution] [, scaleMode] [, padding])

@@ -11238,7 +11380,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 908 + src/gameobjects/Graphics.js line 908 @@ -11291,7 +11433,7 @@
Returns:
-

+

getBounds()

@@ -11351,7 +11493,7 @@

Source:
- src/gameobjects/Graphics.js line 1128 + src/gameobjects/Graphics.js line 1128 @@ -11404,7 +11546,7 @@
Returns:
-

+

getChildAt(index)

@@ -11518,7 +11660,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -11571,7 +11713,7 @@
Returns:
-

+

getChildIndex(child)

@@ -11685,7 +11827,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -11738,7 +11880,7 @@
Returns:
-

+

getLocalBounds()

@@ -11798,7 +11940,7 @@

Source:
- src/gameobjects/Graphics.js line 1218 + src/gameobjects/Graphics.js line 1218 @@ -11851,7 +11993,7 @@
Returns:
-

+

kill()

@@ -11919,7 +12061,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -11972,7 +12114,7 @@
Returns:
-

+

lineStyle(lineWidth, color, alpha)

@@ -12125,7 +12267,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 388 + src/gameobjects/Graphics.js line 388 @@ -12174,7 +12316,7 @@
Returns:
-

+

lineTo(x, y)

@@ -12304,7 +12446,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 439 + src/gameobjects/Graphics.js line 439 @@ -12353,7 +12495,7 @@
Returns:
-

+

moveTo(x, y)

@@ -12482,7 +12624,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 423 + src/gameobjects/Graphics.js line 423 @@ -12531,7 +12673,7 @@
Returns:
-

+

postUpdate()

@@ -12591,7 +12733,7 @@

Source:
- src/gameobjects/Graphics.js line 243 + src/gameobjects/Graphics.js line 243 @@ -12620,7 +12762,7 @@

-

+

preUpdate()

@@ -12680,7 +12822,7 @@

Source:
- src/gameobjects/Graphics.js line 227 + src/gameobjects/Graphics.js line 227 @@ -12709,7 +12851,7 @@

-

+

<protected> preUpdateChildren()

@@ -12773,7 +12915,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12802,7 +12944,7 @@

-

+

quadraticCurveTo(cpX, cpY, toX, toY)

@@ -12980,7 +13122,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 463 + src/gameobjects/Graphics.js line 463 @@ -13029,7 +13171,7 @@
Returns:
-

+

removeChild(child)

@@ -13143,7 +13285,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -13196,7 +13338,7 @@
Returns:
-

+

removeChildAt(index)

@@ -13310,7 +13452,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -13363,7 +13505,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -13501,7 +13643,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13530,7 +13672,7 @@
Parameters:
-

+

reset(x, y [, health])

@@ -13740,7 +13882,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13793,7 +13935,7 @@
Returns:
-

+

revive( [health])

@@ -13929,7 +14071,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -13982,7 +14124,7 @@
Returns:
-

+

setChildIndex(child, index)

@@ -14120,7 +14262,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14149,7 +14291,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -14287,7 +14429,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14316,7 +14458,7 @@
Parameters:
-

+

toGlobal(position)

@@ -14430,7 +14572,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -14485,7 +14627,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -14643,7 +14785,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -14698,7 +14840,7 @@
Returns:
-

+

update()

@@ -14764,7 +14906,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -14793,7 +14935,7 @@

-

+

updateCache()

@@ -14857,7 +14999,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -14912,7 +15054,7 @@
Returns:
-

+

updateLocalBounds()

@@ -14967,7 +15109,7 @@

Source:
- src/gameobjects/Graphics.js line 1285 + src/gameobjects/Graphics.js line 1285 @@ -14996,7 +15138,7 @@

-

+

updateTransform( [parent])

@@ -15130,7 +15272,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15199,9 +15341,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -15218,9 +15360,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -15232,7 +15374,7 @@
Returns:
- +
@@ -15247,7 +15389,7 @@
Returns:
- + diff --git a/docs/Phaser.Group.html b/docs/Phaser.Group.html index 1f7d9fe15..fb73cd6e1 100644 --- a/docs/Phaser.Group.html +++ b/docs/Phaser.Group.html @@ -6,7 +6,7 @@ Phaser CE Class: Group - + @@ -125,7 +125,7 @@

-

+

new Group(game [, parent] [, name] [, addToStage] [, enableBody] [, physicsBodyType])

@@ -454,7 +454,7 @@
Parameters:
Source:
- src/core/Group.js line 27 + src/core/Group.js line 27 @@ -509,9 +509,11 @@

Members

-
-

<static, constant> RETURN_ALL :integer

- +
+

+ <static, constant> RETURN_ALL : integer + +

@@ -568,7 +570,7 @@
Type:
Source:
- src/core/Group.js line 332 + src/core/Group.js line 332 @@ -584,9 +586,11 @@
Type:
-
-

<static, constant> RETURN_CHILD :integer

- +
+

+ <static, constant> RETURN_CHILD : integer + +

@@ -643,7 +647,7 @@
Type:
Source:
- src/core/Group.js line 325 + src/core/Group.js line 325 @@ -659,9 +663,11 @@
Type:
-
-

<static, constant> RETURN_NONE :integer

- +
+

+ <static, constant> RETURN_NONE : integer + +

@@ -718,7 +724,7 @@
Type:
Source:
- src/core/Group.js line 311 + src/core/Group.js line 311 @@ -734,9 +740,11 @@
Type:
-
-

<static, constant> RETURN_TOTAL :integer

- +
+

+ <static, constant> RETURN_TOTAL : integer + +

@@ -793,7 +801,7 @@
Type:
Source:
- src/core/Group.js line 318 + src/core/Group.js line 318 @@ -809,9 +817,11 @@
Type:
-
-

<static, constant> SORT_ASCENDING :integer

- +
+

+ <static, constant> SORT_ASCENDING : integer + +

@@ -868,7 +878,7 @@
Type:
Source:
- src/core/Group.js line 339 + src/core/Group.js line 339 @@ -884,9 +894,11 @@
Type:
-
-

<static, constant> SORT_DESCENDING :integer

- +
+

+ <static, constant> SORT_DESCENDING : integer + +

@@ -943,7 +955,7 @@
Type:
Source:
- src/core/Group.js line 346 + src/core/Group.js line 346 @@ -959,9 +971,11 @@
Type:
-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -1025,7 +1039,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -1041,9 +1055,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -1105,7 +1121,7 @@
Type:
Source:
- src/core/Group.js line 3167 + src/core/Group.js line 3167 @@ -1121,9 +1137,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -1183,7 +1201,7 @@
Type:
Source:
- src/core/Group.js line 2827 + src/core/Group.js line 2827 @@ -1199,9 +1217,11 @@
Type:
-
-

bottom :number

- +
+

+ bottom : number + +

@@ -1260,7 +1280,7 @@
Type:
Source:
- src/core/Group.js line 2990 + src/core/Group.js line 2990 @@ -1276,9 +1296,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -1351,7 +1373,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1367,9 +1389,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -1427,7 +1451,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1443,9 +1467,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -1504,7 +1530,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1520,9 +1546,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -1581,7 +1609,7 @@
Type:
Source:
- src/core/Group.js line 2878 + src/core/Group.js line 2878 @@ -1597,9 +1625,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1665,7 +1695,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1681,9 +1711,11 @@
Type:
-
-

classType :function

- +
+

+ classType : function + +

@@ -1748,7 +1780,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1764,9 +1796,11 @@
Type:
-
-

cursor :DisplayObject

- +
+

+ cursor : DisplayObject + +

@@ -1824,7 +1858,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1840,9 +1874,11 @@
Type:
-
-

<readonly> cursorIndex :integer

- +
+

+ <readonly> cursorIndex : integer + +

@@ -1899,7 +1935,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1915,9 +1951,11 @@
Type:
-
-

enableBody :boolean

- +
+

+ enableBody : boolean + +

@@ -1976,7 +2014,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1992,9 +2030,11 @@
Type:
-
-

enableBodyDebug :boolean

- +
+

+ enableBodyDebug : boolean + +

@@ -2052,7 +2092,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -2068,9 +2108,11 @@
Type:
-
-

exists :boolean

- +
+

+ exists : boolean + +

@@ -2134,7 +2176,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2150,9 +2192,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -2218,7 +2262,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2234,9 +2278,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -2312,7 +2358,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2328,9 +2374,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -2389,7 +2437,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2405,9 +2453,11 @@
Type:
-
-

<protected> game :Phaser.Game

- +
+

+ <protected> game : Phaser.Game + +

@@ -2464,7 +2514,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2480,9 +2530,11 @@
Type:
-
-

hash :array

- +
+

+ hash : array + +

@@ -2543,7 +2595,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2559,9 +2611,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -2637,7 +2691,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2653,9 +2707,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -2723,7 +2779,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2739,9 +2795,11 @@
Type:
-
-

ignoreDestroy :boolean

- +
+

+ ignoreDestroy : boolean + +

@@ -2798,7 +2856,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2814,9 +2872,11 @@
Type:
-
-

inputEnableChildren :boolean

- +
+

+ inputEnableChildren : boolean + +

@@ -2875,7 +2935,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -2891,9 +2951,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -2952,7 +3014,7 @@
Type:
Source:
- src/core/Group.js line 2906 + src/core/Group.js line 2906 @@ -2968,9 +3030,11 @@
Type:
-
-

<readonly> length :integer

- +
+

+ <readonly> length : integer + +

@@ -3027,7 +3091,7 @@
Type:
Source:
- src/core/Group.js line 2810 + src/core/Group.js line 2810 @@ -3043,9 +3107,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -3114,7 +3180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3130,9 +3196,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -3189,7 +3257,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3205,9 +3273,11 @@
Type:
-
-

onChildInputDown :Phaser.Signal

- +
+

+ onChildInputDown : Phaser.Signal + +

@@ -3268,7 +3338,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3284,9 +3354,11 @@
Type:
-
-

onChildInputOut :Phaser.Signal

- +
+

+ onChildInputOut : Phaser.Signal + +

@@ -3347,7 +3419,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3363,9 +3435,11 @@
Type:
-
-

onChildInputOver :Phaser.Signal

- +
+

+ onChildInputOver : Phaser.Signal + +

@@ -3426,7 +3500,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3442,9 +3516,11 @@
Type:
-
-

onChildInputUp :Phaser.Signal

- +
+

+ onChildInputUp : Phaser.Signal + +

@@ -3506,7 +3582,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3522,9 +3598,11 @@
Type:
-
-

onDestroy :Phaser.Signal

- +
+

+ onDestroy : Phaser.Signal + +

@@ -3581,7 +3659,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3597,9 +3675,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -3668,7 +3748,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3684,9 +3764,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -3747,7 +3829,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3763,9 +3845,11 @@
Type:
-
-

physicsBodyType :integer

- +
+

+ physicsBodyType : integer + +

@@ -3823,7 +3907,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -3839,9 +3923,11 @@
Type:
-
-

physicsSortDirection :integer

- +
+

+ physicsSortDirection : integer + +

@@ -3905,7 +3991,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -3921,9 +4007,11 @@
Type:
-
-

<readonly> physicsType :number

- +
+

+ <readonly> physicsType : number + +

@@ -3980,7 +4068,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -3996,9 +4084,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -4065,7 +4155,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4081,9 +4171,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -4151,7 +4243,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4167,9 +4259,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -4236,7 +4330,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4252,9 +4346,11 @@
Type:
-
+
@@ -4313,7 +4409,7 @@
Type:
Source:
- src/core/Group.js line 2934 + src/core/Group.js line 2934 @@ -4329,9 +4425,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -4395,7 +4493,7 @@
Type:
Source:
- src/core/Group.js line 3151 + src/core/Group.js line 3151 @@ -4411,9 +4509,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -4482,7 +4582,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4498,9 +4598,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -4559,7 +4661,7 @@
Type:
Source:
- src/core/Group.js line 2962 + src/core/Group.js line 2962 @@ -4575,9 +4677,11 @@
Type:
-
-

<readonly> total :integer

- +
+

+ <readonly> total : integer + +

@@ -4634,7 +4738,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -4650,9 +4754,11 @@
Type:
-
-

<protected> type :integer

- +
+

+ <protected> type : integer + +

@@ -4709,7 +4815,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -4725,9 +4831,11 @@
Type:
-
-

updateOnlyExistingChildren :boolean

- +
+

+ updateOnlyExistingChildren : boolean + +

@@ -4784,7 +4892,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -4800,9 +4908,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -4864,7 +4974,7 @@
Type:
Source:
- src/core/Group.js line 3160 + src/core/Group.js line 3160 @@ -4880,9 +4990,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -4954,7 +5066,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -4970,9 +5082,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -5043,7 +5157,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5059,9 +5173,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -5132,7 +5248,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5148,9 +5264,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -5221,7 +5339,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5237,9 +5355,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -5310,7 +5430,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5326,9 +5446,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -5394,7 +5516,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5410,9 +5532,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -5476,7 +5600,7 @@
Type:
Source:
- src/core/Group.js line 3133 + src/core/Group.js line 3133 @@ -5492,9 +5616,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -5558,7 +5684,7 @@
Type:
Source:
- src/core/Group.js line 3142 + src/core/Group.js line 3142 @@ -5574,9 +5700,11 @@
Type:
-
-

<readonly> z :integer

- +
+

+ <readonly> z : integer + +

@@ -5634,7 +5762,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -5657,7 +5785,7 @@

Methods

-

+

add(child [, silent] [, index])

@@ -5863,7 +5991,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -5916,7 +6044,7 @@
Returns:
-

+

addAll(property, amount [, checkAlive] [, checkVisible])

@@ -6132,7 +6260,7 @@
Parameters:
Source:
- src/core/Group.js line 1431 + src/core/Group.js line 1431 @@ -6161,7 +6289,7 @@
Parameters:
-

+

addAt(child [, index] [, silent])

@@ -6365,7 +6493,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6418,7 +6546,7 @@
Returns:
-

+

addChild(child)

@@ -6532,7 +6660,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6585,7 +6713,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -6723,7 +6851,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -6776,7 +6904,7 @@
Returns:
-

+

addMultiple(children [, silent])

@@ -6945,7 +7073,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7001,7 +7129,7 @@
Returns:
-

+

addToHash(child)

@@ -7107,7 +7235,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7160,7 +7288,7 @@
Returns:
-

+

align(width, height, cellWidth, cellHeight [, position] [, offset])

@@ -7493,7 +7621,7 @@
Parameters:
Source:
- src/core/Group.js line 689 + src/core/Group.js line 689 @@ -7546,7 +7674,7 @@
Returns:
-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -7827,7 +7955,7 @@
Parameters:
Source:
- src/core/Group.js line 3018 + src/core/Group.js line 3018 @@ -7880,7 +8008,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -8162,7 +8290,7 @@
Parameters:
Source:
- src/core/Group.js line 3060 + src/core/Group.js line 3060 @@ -8215,7 +8343,7 @@
Returns:
-

+

<protected> ascendingSortHandler(a, b)

@@ -8344,7 +8472,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -8373,7 +8501,7 @@
Parameters:
-

+

bringToTop(child)

@@ -8478,7 +8606,7 @@
Parameters:
Source:
- src/core/Group.js line 914 + src/core/Group.js line 914 @@ -8531,7 +8659,7 @@
Returns:
-

+

callAll(method [, context], args)

@@ -8732,7 +8860,7 @@
Parameters:
Source:
- src/core/Group.js line 1621 + src/core/Group.js line 1621 @@ -8761,7 +8889,7 @@
Parameters:
-

+

callAllExists(callback, existsValue, parameter)

@@ -8943,7 +9071,7 @@
Parameters:
Source:
- src/core/Group.js line 1537 + src/core/Group.js line 1537 @@ -8972,7 +9100,7 @@
Parameters:
-

+

<protected> callbackFromArray(child, callback, length)

@@ -9125,7 +9253,7 @@
Parameters:
Source:
- src/core/Group.js line 1571 + src/core/Group.js line 1571 @@ -9154,7 +9282,7 @@
Parameters:
-

+

checkAll(key, value [, checkAlive] [, checkVisible] [, force])

@@ -9432,7 +9560,7 @@
Parameters:
Source:
- src/core/Group.js line 1361 + src/core/Group.js line 1361 @@ -9487,7 +9615,7 @@
Returns:
-

+

checkAny(key, value [, checkAlive] [, checkVisible])

@@ -9725,7 +9853,7 @@
Parameters:
Source:
- src/core/Group.js line 1397 + src/core/Group.js line 1397 @@ -9780,7 +9908,7 @@
Returns:
-

+

checkProperty(child, key, value [, force])

@@ -10013,7 +10141,7 @@
Parameters:
Source:
- src/core/Group.js line 1224 + src/core/Group.js line 1224 @@ -10066,7 +10194,7 @@
Returns:
-

+

contains(child)

@@ -10180,7 +10308,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10229,7 +10357,7 @@
Returns:
-

+

countDead()

@@ -10284,7 +10412,7 @@

Source:
- src/core/Group.js line 2443 + src/core/Group.js line 2443 @@ -10337,7 +10465,7 @@
Returns:
-

+

countLiving()

@@ -10392,7 +10520,7 @@

Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -10445,7 +10573,7 @@
Returns:
-

+

create(x, y [, key] [, frame] [, exists] [, index])

@@ -10777,7 +10905,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -10830,7 +10958,7 @@
Returns:
-

+

createMultiple(quantity, key [, frame] [, exists])

@@ -11099,7 +11227,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11152,7 +11280,7 @@
Returns:
-

+

customSort(sortHandler [, context])

@@ -11303,7 +11431,7 @@
Parameters:
Source:
- src/core/Group.js line 2000 + src/core/Group.js line 2000 @@ -11332,7 +11460,7 @@
Parameters:
-

+

<protected> descendingSortHandler(a, b)

@@ -11461,7 +11589,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -11490,7 +11618,7 @@
Parameters:
-

+

destroy( [destroyChildren] [, soft])

@@ -11661,7 +11789,7 @@
Parameters:
Source:
- src/core/Group.js line 2756 + src/core/Group.js line 2756 @@ -11690,7 +11818,7 @@
Parameters:
-

+

divideAll(property, amount, checkAlive, checkVisible)

@@ -11868,7 +11996,7 @@
Parameters:
Source:
- src/core/Group.js line 1482 + src/core/Group.js line 1482 @@ -11897,7 +12025,7 @@
Parameters:
-

+

filter(predicate [, checkExists])

@@ -12063,7 +12191,7 @@
Parameters:
Source:
- src/core/Group.js line 1782 + src/core/Group.js line 1782 @@ -12116,7 +12244,7 @@
Returns:
-

+

forEach(callback, callbackContext [, checkExists] [, args])

@@ -12358,7 +12486,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -12387,7 +12515,7 @@
Parameters:
-

+

forEachAlive(callback, callbackContext [, args])

@@ -12587,7 +12715,7 @@
Parameters:
Source:
- src/core/Group.js line 1904 + src/core/Group.js line 1904 @@ -12616,7 +12744,7 @@
Parameters:
-

+

forEachDead(callback, callbackContext [, args])

@@ -12816,7 +12944,7 @@
Parameters:
Source:
- src/core/Group.js line 1932 + src/core/Group.js line 1932 @@ -12845,7 +12973,7 @@
Parameters:
-

+

forEachExists(callback, callbackContext [, args])

@@ -13045,7 +13173,7 @@
Parameters:
Source:
- src/core/Group.js line 1876 + src/core/Group.js line 1876 @@ -13074,7 +13202,7 @@
Parameters:
-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -13290,7 +13418,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -13345,7 +13473,7 @@
Returns:
-

+

getAll( [property] [, value] [, startIndex] [, endIndex])

@@ -13589,7 +13717,7 @@
Parameters:
Source:
- src/core/Group.js line 2497 + src/core/Group.js line 2497 @@ -13644,7 +13772,7 @@
Returns:
-

+

getAt(index)

@@ -13749,7 +13877,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -13805,7 +13933,7 @@
Returns:
-

+

getBottom()

@@ -13861,7 +13989,7 @@

Source:
- src/core/Group.js line 2326 + src/core/Group.js line 2326 @@ -13914,7 +14042,7 @@
Returns:
-

+

getBounds( [targetCoordinateSpace])

@@ -14043,7 +14171,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -14096,7 +14224,7 @@
Returns:
-

+

getByName(name)

@@ -14203,7 +14331,7 @@
Parameters:
Source:
- src/core/Group.js line 1049 + src/core/Group.js line 1049 @@ -14256,7 +14384,7 @@
Returns:
-

+

getChildAt(index)

@@ -14370,7 +14498,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -14423,7 +14551,7 @@
Returns:
-

+

getChildIndex(child)

@@ -14537,7 +14665,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -14590,7 +14718,7 @@
Returns:
-

+

getClosestTo(object [, callback] [, callbackContext])

@@ -14779,7 +14907,7 @@
Parameters:
Source:
- src/core/Group.js line 2343 + src/core/Group.js line 2343 @@ -14832,7 +14960,7 @@
Returns:
-

+

getFirstAlive( [createIfNull] [, x] [, y] [, key] [, frame])

@@ -15129,7 +15257,7 @@
Parameters:
Source:
- src/core/Group.js line 2210 + src/core/Group.js line 2210 @@ -15182,7 +15310,7 @@
Returns:
-

+

getFirstDead( [createIfNull] [, x] [, y] [, key] [, frame])

@@ -15479,7 +15607,7 @@
Parameters:
Source:
- src/core/Group.js line 2240 + src/core/Group.js line 2240 @@ -15532,7 +15660,7 @@
Returns:
-

+

getFirstExists( [exists] [, createIfNull] [, x] [, y] [, key] [, frame])

@@ -15868,7 +15996,7 @@
Parameters:
Source:
- src/core/Group.js line 2176 + src/core/Group.js line 2176 @@ -15921,7 +16049,7 @@
Returns:
-

+

getFurthestFrom(object [, callback] [, callbackContext])

@@ -16110,7 +16238,7 @@
Parameters:
Source:
- src/core/Group.js line 2387 + src/core/Group.js line 2387 @@ -16163,7 +16291,7 @@
Returns:
-

+

getIndex(child)

@@ -16268,7 +16396,7 @@
Parameters:
Source:
- src/core/Group.js line 1036 + src/core/Group.js line 1036 @@ -16321,7 +16449,7 @@
Returns:
-

+

getLocalBounds()

@@ -16385,7 +16513,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -16438,7 +16566,7 @@
Returns:
-

+

getRandom( [startIndex] [, length])

@@ -16603,7 +16731,7 @@
Parameters:
Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -16656,7 +16784,7 @@
Returns:
-

+

getRandomExists( [startIndex] [, endIndex])

@@ -16822,7 +16950,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -16875,7 +17003,7 @@
Returns:
-

+

getTop()

@@ -16931,7 +17059,7 @@

Source:
- src/core/Group.js line 2309 + src/core/Group.js line 2309 @@ -16984,7 +17112,7 @@
Returns:
-

+

hasProperty(child, key)

@@ -17114,7 +17242,7 @@
Parameters:
Source:
- src/core/Group.js line 1111 + src/core/Group.js line 1111 @@ -17167,7 +17295,7 @@
Returns:
-

+

iterate(key, value, returnType [, callback] [, callbackContext] [, args])

@@ -17492,7 +17620,7 @@
Parameters:
Source:
- src/core/Group.js line 2081 + src/core/Group.js line 2081 @@ -17545,7 +17673,7 @@
Returns:
-

+

killAll()

@@ -17600,7 +17728,7 @@

Source:
- src/core/Group.js line 1499 + src/core/Group.js line 1499 @@ -17629,7 +17757,7 @@

-

+

moveAll(group [, silent])

@@ -17790,7 +17918,7 @@
Parameters:
Source:
- src/core/Group.js line 2591 + src/core/Group.js line 2591 @@ -17843,7 +17971,7 @@
Returns:
-

+

moveDown(child)

@@ -17948,7 +18076,7 @@
Parameters:
Source:
- src/core/Group.js line 976 + src/core/Group.js line 976 @@ -18001,7 +18129,7 @@
Returns:
-

+

moveUp(child)

@@ -18106,7 +18234,7 @@
Parameters:
Source:
- src/core/Group.js line 952 + src/core/Group.js line 952 @@ -18159,7 +18287,7 @@
Returns:
-

+

multiplyAll(property, amount, checkAlive, checkVisible)

@@ -18337,7 +18465,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -18366,7 +18494,7 @@
Parameters:
-

+

next()

@@ -18422,7 +18550,7 @@

Source:
- src/core/Group.js line 840 + src/core/Group.js line 840 @@ -18475,7 +18603,7 @@
Returns:
-

+

<protected> postUpdate()

@@ -18530,7 +18658,7 @@

Source:
- src/core/Group.js line 1761 + src/core/Group.js line 1761 @@ -18559,7 +18687,7 @@

-

+

<protected> preUpdate()

@@ -18619,7 +18747,7 @@

Source:
- src/core/Group.js line 1694 + src/core/Group.js line 1694 @@ -18648,7 +18776,7 @@

-

+

previous()

@@ -18704,7 +18832,7 @@

Source:
- src/core/Group.js line 869 + src/core/Group.js line 869 @@ -18757,7 +18885,7 @@
Returns:
-

+

remove(child [, destroy] [, silent])

@@ -18960,7 +19088,7 @@
Parameters:
Source:
- src/core/Group.js line 2543 + src/core/Group.js line 2543 @@ -19013,7 +19141,7 @@
Returns:
-

+

removeAll( [destroy] [, silent] [, destroyTexture])

@@ -19221,7 +19349,7 @@
Parameters:
Source:
- src/core/Group.js line 2620 + src/core/Group.js line 2620 @@ -19250,7 +19378,7 @@
Parameters:
-

+

removeBetween(startIndex [, endIndex] [, destroy] [, silent])

@@ -19489,7 +19617,7 @@
Parameters:
Source:
- src/core/Group.js line 2668 + src/core/Group.js line 2668 @@ -19518,7 +19646,7 @@
Parameters:
-

+

removeChild(child)

@@ -19632,7 +19760,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -19685,7 +19813,7 @@
Returns:
-

+

removeChildAt(index)

@@ -19799,7 +19927,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -19852,7 +19980,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -19990,7 +20118,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -20019,7 +20147,7 @@
Parameters:
-

+

removeFromHash(child)

@@ -20125,7 +20253,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -20178,7 +20306,7 @@
Returns:
-

+

replace(oldChild, newChild)

@@ -20309,7 +20437,7 @@
Parameters:
Source:
- src/core/Group.js line 1072 + src/core/Group.js line 1072 @@ -20362,7 +20490,7 @@
Returns:
-

+

resetAll( [x] [, y] [, key] [, frame] [, checkExists])

@@ -20654,7 +20782,7 @@
Parameters:
Source:
- src/core/Group.js line 1521 + src/core/Group.js line 1521 @@ -20683,7 +20811,7 @@
Parameters:
-

+

resetChild(child [, x] [, y] [, key] [, frame])

@@ -20951,7 +21079,7 @@
Parameters:
Source:
- src/core/Group.js line 2270 + src/core/Group.js line 2270 @@ -21004,7 +21132,7 @@
Returns:
-

+

resetCursor( [index])

@@ -21130,7 +21258,7 @@
Parameters:
Source:
- src/core/Group.js line 813 + src/core/Group.js line 813 @@ -21183,7 +21311,7 @@
Returns:
-

+

reverse()

@@ -21239,7 +21367,7 @@

Source:
- src/core/Group.js line 1022 + src/core/Group.js line 1022 @@ -21268,7 +21396,7 @@

-

+

reviveAll()

@@ -21323,7 +21451,7 @@

Source:
- src/core/Group.js line 1510 + src/core/Group.js line 1510 @@ -21352,7 +21480,7 @@

-

+

scatter( [rect] [, checkExists])

@@ -21517,7 +21645,7 @@
Parameters:
Source:
- src/core/Group.js line 2723 + src/core/Group.js line 2723 @@ -21546,7 +21674,7 @@
Parameters:
-

+

sendToBack(child)

@@ -21651,7 +21779,7 @@
Parameters:
Source:
- src/core/Group.js line 933 + src/core/Group.js line 933 @@ -21704,7 +21832,7 @@
Returns:
-

+

set(child, key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -22058,7 +22186,7 @@
Parameters:
Source:
- src/core/Group.js line 1254 + src/core/Group.js line 1254 @@ -22111,7 +22239,7 @@
Returns:
-

+

setAll(key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -22431,7 +22559,7 @@
Parameters:
Source:
- src/core/Group.js line 1285 + src/core/Group.js line 1285 @@ -22460,7 +22588,7 @@
Parameters:
-

+

setAllChildren(key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -22780,7 +22908,7 @@
Parameters:
Source:
- src/core/Group.js line 1320 + src/core/Group.js line 1320 @@ -22809,7 +22937,7 @@
Parameters:
-

+

setChildIndex(child, index)

@@ -22947,7 +23075,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -22976,7 +23104,7 @@
Parameters:
-

+

setProperty(child, key, value [, operation] [, force])

@@ -23257,7 +23385,7 @@
Parameters:
Source:
- src/core/Group.js line 1146 + src/core/Group.js line 1146 @@ -23310,7 +23438,7 @@
Returns:
-

+

shuffle()

@@ -23366,7 +23494,7 @@

Source:
- src/core/Group.js line 2742 + src/core/Group.js line 2742 @@ -23395,7 +23523,7 @@

-

+

sort( [key] [, order])

@@ -23564,7 +23692,7 @@
Parameters:
Source:
- src/core/Group.js line 1960 + src/core/Group.js line 1960 @@ -23593,7 +23721,7 @@
Parameters:
-

+

subAll(property, amount, checkAlive, checkVisible)

@@ -23771,7 +23899,7 @@
Parameters:
Source:
- src/core/Group.js line 1448 + src/core/Group.js line 1448 @@ -23800,7 +23928,7 @@
Parameters:
-

+

swap(child1, child2)

@@ -23930,7 +24058,7 @@
Parameters:
Source:
- src/core/Group.js line 898 + src/core/Group.js line 898 @@ -23959,7 +24087,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -24097,7 +24225,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -24126,7 +24254,7 @@
Parameters:
-

+

toGlobal(position)

@@ -24240,7 +24368,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -24295,7 +24423,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -24453,7 +24581,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -24508,7 +24636,7 @@
Returns:
-

+

<protected> update()

@@ -24564,7 +24692,7 @@

Source:
- src/core/Group.js line 1733 + src/core/Group.js line 1733 @@ -24593,7 +24721,7 @@

-

+

updateCache()

@@ -24657,7 +24785,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -24712,7 +24840,7 @@
Returns:
-

+

updateTransform( [parent])

@@ -24846,7 +24974,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -24901,7 +25029,7 @@
Returns:
-

+

<protected> updateZ()

@@ -24957,7 +25085,7 @@

Source:
- src/core/Group.js line 670 + src/core/Group.js line 670 @@ -24986,7 +25114,7 @@

-

+

xy(index, x, y)

@@ -25139,7 +25267,7 @@
Parameters:
Source:
- src/core/Group.js line 1000 + src/core/Group.js line 1000 @@ -25182,9 +25310,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -25201,9 +25329,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -25215,7 +25343,7 @@
Parameters:
- +
@@ -25230,7 +25358,7 @@
Parameters:
- + diff --git a/docs/Phaser.Hermite.html b/docs/Phaser.Hermite.html index 7d277e2c6..7f224b565 100644 --- a/docs/Phaser.Hermite.html +++ b/docs/Phaser.Hermite.html @@ -6,7 +6,7 @@ Phaser CE Class: Hermite - + @@ -125,7 +125,7 @@

-

+

new Hermite(p1x, p1y, p2x, p2y, v1x, v1y, v2x, v2y [, accuracy])

@@ -551,7 +551,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 39 + src/geom/Hermite.js line 39 @@ -595,9 +595,11 @@

Members

-
-

accuracy :number

- +
+

+ accuracy : number + +

@@ -654,7 +656,7 @@
Type:
Source:
- src/geom/Hermite.js line 396 + src/geom/Hermite.js line 396 @@ -670,9 +672,11 @@
Type:
-
-

p1x :number

- +
+

+ p1x : number + +

@@ -729,7 +733,7 @@
Type:
Source:
- src/geom/Hermite.js line 420 + src/geom/Hermite.js line 420 @@ -745,9 +749,11 @@
Type:
-
-

p1y :number

- +
+

+ p1y : number + +

@@ -804,7 +810,7 @@
Type:
Source:
- src/geom/Hermite.js line 444 + src/geom/Hermite.js line 444 @@ -820,9 +826,11 @@
Type:
-
-

p2x :number

- +
+

+ p2x : number + +

@@ -879,7 +887,7 @@
Type:
Source:
- src/geom/Hermite.js line 468 + src/geom/Hermite.js line 468 @@ -895,9 +903,11 @@
Type:
-
-

p2y :number

- +
+

+ p2y : number + +

@@ -954,7 +964,7 @@
Type:
Source:
- src/geom/Hermite.js line 492 + src/geom/Hermite.js line 492 @@ -970,9 +980,11 @@
Type:
-
-

v1x :number

- +
+

+ v1x : number + +

@@ -1029,7 +1041,7 @@
Type:
Source:
- src/geom/Hermite.js line 516 + src/geom/Hermite.js line 516 @@ -1045,9 +1057,11 @@
Type:
-
-

v1y :number

- +
+

+ v1y : number + +

@@ -1104,7 +1118,7 @@
Type:
Source:
- src/geom/Hermite.js line 540 + src/geom/Hermite.js line 540 @@ -1120,9 +1134,11 @@
Type:
-
-

v2x :number

- +
+

+ v2x : number + +

@@ -1179,7 +1195,7 @@
Type:
Source:
- src/geom/Hermite.js line 564 + src/geom/Hermite.js line 564 @@ -1195,9 +1211,11 @@
Type:
-
-

v2y :number

- +
+

+ v2y : number + +

@@ -1254,7 +1272,7 @@
Type:
Source:
- src/geom/Hermite.js line 588 + src/geom/Hermite.js line 588 @@ -1277,7 +1295,7 @@

Methods

-

+

calculateEvenPoints()

@@ -1332,7 +1350,7 @@

Source:
- src/geom/Hermite.js line 146 + src/geom/Hermite.js line 146 @@ -1385,7 +1403,7 @@
Returns:
-

+

findT(distance)

@@ -1491,7 +1509,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 173 + src/geom/Hermite.js line 173 @@ -1544,7 +1562,7 @@
Returns:
-

+

getAngle( [t])

@@ -1669,7 +1687,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 336 + src/geom/Hermite.js line 336 @@ -1722,7 +1740,7 @@
Returns:
-

+

getAngleWithDistance( [distance])

@@ -1847,7 +1865,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 354 + src/geom/Hermite.js line 354 @@ -1900,7 +1918,7 @@
Returns:
-

+

getEntryTangent(point)

@@ -2008,7 +2026,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 376 + src/geom/Hermite.js line 376 @@ -2061,7 +2079,7 @@
Returns:
-

+

getPoint( [t] [, point])

@@ -2227,7 +2245,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 276 + src/geom/Hermite.js line 276 @@ -2280,7 +2298,7 @@
Returns:
-

+

getPointWithDistance( [distance] [, point])

@@ -2446,7 +2464,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 309 + src/geom/Hermite.js line 309 @@ -2499,7 +2517,7 @@
Returns:
-

+

getX( [t])

@@ -2624,7 +2642,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 210 + src/geom/Hermite.js line 210 @@ -2677,7 +2695,7 @@
Returns:
-

+

getY( [t])

@@ -2802,7 +2820,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 243 + src/geom/Hermite.js line 243 @@ -2855,7 +2873,7 @@
Returns:
-

+

recalculate()

@@ -2912,7 +2930,7 @@

Source:
- src/geom/Hermite.js line 123 + src/geom/Hermite.js line 123 @@ -2979,9 +2997,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2998,9 +3016,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3012,7 +3030,7 @@
Returns:
- +
@@ -3027,7 +3045,7 @@
Returns:
- + diff --git a/docs/Phaser.Image.html b/docs/Phaser.Image.html index e37045121..04d2954db 100644 --- a/docs/Phaser.Image.html +++ b/docs/Phaser.Image.html @@ -6,7 +6,7 @@ Phaser CE Class: Image - + @@ -125,7 +125,7 @@

-

+

new Image(game [, x] [, y] [, key] [, frame])

@@ -415,7 +415,7 @@
Parameters:
Source:
- src/gameobjects/Image.js line 37 + src/gameobjects/Image.js line 37 @@ -502,9 +502,11 @@

Members

-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -581,7 +583,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -597,9 +599,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -675,7 +679,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -691,9 +695,11 @@
Type:
-
-

anchor :Point

- +
+

+ anchor : Point + +

@@ -763,7 +769,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -779,9 +785,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -852,7 +860,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -868,9 +876,11 @@
Type:
-
-

animations :Phaser.AnimationManager

- +
+

+ animations : Phaser.AnimationManager + +

@@ -937,7 +947,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -960,9 +970,11 @@
Type:
-
-

autoCull :boolean

- +
+

+ autoCull : boolean + +

@@ -1032,7 +1044,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1048,9 +1060,11 @@
Type:
-
-

blendMode :Number

- +
+

+ blendMode : Number + +

@@ -1124,7 +1138,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1140,9 +1154,11 @@
Type:
-
-

bottom :number

- +
+

+ bottom : number + +

@@ -1209,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1225,9 +1241,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -1300,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1316,9 +1334,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -1385,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1401,9 +1421,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -1470,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1486,9 +1508,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -1555,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1571,9 +1595,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1639,7 +1665,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1655,9 +1681,11 @@
Type:
-
-

<protected> components :object

- +
+

+ <protected> components : object + +

@@ -1723,7 +1751,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1739,9 +1767,11 @@
Type:
-
-

cropRect :Phaser.Rectangle

- +
+

+ cropRect : Phaser.Rectangle + +

@@ -1809,7 +1839,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1825,9 +1855,11 @@
Type:
-
-

data :Object

- +
+

+ data : Object + +

@@ -1903,7 +1935,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -1919,9 +1951,11 @@
Type:
-
-

debug :boolean

- +
+

+ debug : boolean + +

@@ -1987,7 +2021,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2003,9 +2037,11 @@
Type:
-
-

<readonly> destroyPhase :boolean

- +
+

+ <readonly> destroyPhase : boolean + +

@@ -2072,7 +2108,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2088,9 +2124,11 @@
Type:
-
-

events :Phaser.Events

- +
+

+ events : Phaser.Events + +

@@ -2157,7 +2195,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2180,9 +2218,11 @@
Type:
-
-

exists :Boolean

- +
+

+ exists : Boolean + +

@@ -2260,7 +2300,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2276,9 +2316,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -2344,7 +2386,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2360,9 +2402,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -2433,7 +2477,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2449,9 +2493,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -2524,7 +2570,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2540,9 +2586,11 @@
Type:
-
-

frame :integer

- +
+

+ frame : integer + +

@@ -2613,7 +2661,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -2629,9 +2677,11 @@
Type:
-
-

frameName :string

- +
+

+ frameName : string + +

@@ -2702,7 +2752,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -2718,9 +2768,11 @@
Type:
-
-

<readonly> fresh :boolean

- +
+

+ <readonly> fresh : boolean + +

@@ -2787,7 +2839,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2803,9 +2855,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -2871,7 +2925,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -2887,9 +2941,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -2965,7 +3021,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2981,9 +3037,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -3051,7 +3109,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3067,9 +3125,11 @@
Type:
-
-

<readonly> inCamera :boolean

- +
+

+ <readonly> inCamera : boolean + +

@@ -3136,7 +3196,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3152,9 +3212,11 @@
Type:
-
-

input :Phaser.InputHandler|null

- +
+

+ input : Phaser.InputHandler | null + +

@@ -3225,7 +3287,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3241,9 +3303,11 @@
Type:
-
-

inputEnabled :boolean

- +
+

+ inputEnabled : boolean + +

@@ -3316,7 +3380,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3332,9 +3396,11 @@
Type:
-
-

key :string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture

- +
+

+ key : string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture + +

@@ -3416,7 +3482,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3432,9 +3498,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -3501,7 +3569,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3517,9 +3585,11 @@
Type:
-
-

lifespan :number

- +
+

+ lifespan : number + +

@@ -3589,7 +3659,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -3605,9 +3675,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -3676,7 +3748,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3692,9 +3764,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -3761,7 +3835,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -3777,9 +3851,11 @@
Type:
-
-

<readonly> offsetX :number

- +
+

+ <readonly> offsetX : number + +

@@ -3847,7 +3923,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -3863,9 +3939,11 @@
Type:
-
-

<readonly> offsetY :number

- +
+

+ <readonly> offsetY : number + +

@@ -3933,7 +4011,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -3949,9 +4027,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -4020,7 +4100,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4036,9 +4116,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -4107,7 +4189,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4123,9 +4205,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -4192,7 +4276,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4208,9 +4292,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -4278,7 +4364,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4294,9 +4380,11 @@
Type:
-
-

<readonly> previousPosition :Phaser.Point

- +
+

+ <readonly> previousPosition : Phaser.Point + +

@@ -4362,7 +4450,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4378,9 +4466,11 @@
Type:
-
-

<readonly> previousRotation :number

- +
+

+ <readonly> previousRotation : number + +

@@ -4446,7 +4536,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -4462,9 +4552,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -4531,7 +4623,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4547,9 +4639,11 @@
Type:
-
-

<readonly> renderOrderID :number

- +
+

+ <readonly> renderOrderID : number + +

@@ -4616,7 +4710,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -4632,9 +4726,11 @@
Type:
-
+
@@ -4701,7 +4797,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -4717,9 +4813,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -4788,7 +4886,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -4804,9 +4902,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -4875,7 +4975,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4891,9 +4991,11 @@
Type:
-
-

scaleMax :Phaser.Point

- +
+

+ scaleMax : Phaser.Point + +

@@ -4961,7 +5063,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -4977,9 +5079,11 @@
Type:
-
-

scaleMin :Phaser.Point

- +
+

+ scaleMin : Phaser.Point + +

@@ -5047,7 +5151,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5063,9 +5167,11 @@
Type:
-
-

shader :Phaser.Filter

- +
+

+ shader : Phaser.Filter + +

@@ -5139,7 +5245,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -5155,9 +5261,11 @@
Type:
-
-

smoothed :boolean

- +
+

+ smoothed : boolean + +

@@ -5225,7 +5333,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5241,9 +5349,11 @@
Type:
-
-

texture :Texture

- +
+

+ texture : Texture + +

@@ -5309,7 +5419,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -5325,9 +5435,11 @@
Type:
-
-

tint :Number

- +
+

+ tint : Number + +

@@ -5400,7 +5512,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -5416,9 +5528,11 @@
Type:
-
-

tintedTexture :Canvas

- +
+

+ tintedTexture : Canvas + +

@@ -5491,7 +5605,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -5507,9 +5621,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -5576,7 +5692,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5592,9 +5708,11 @@
Type:
-
-

transformCallback :function

- +
+

+ transformCallback : function + +

@@ -5660,7 +5778,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -5676,9 +5794,11 @@
Type:
-
-

transformCallbackContext :object

- +
+

+ transformCallbackContext : object + +

@@ -5744,7 +5864,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -5760,9 +5880,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -5819,7 +5941,7 @@
Type:
Source:
- src/gameobjects/Image.js line 48 + src/gameobjects/Image.js line 48 @@ -5835,9 +5957,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -5915,7 +6039,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -5931,9 +6055,11 @@
Type:
-
-

world :Phaser.Point

- +
+

+ world : Phaser.Point + +

@@ -6001,7 +6127,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6017,9 +6143,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -6091,7 +6219,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6107,9 +6235,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -6180,7 +6310,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6196,9 +6326,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -6269,7 +6401,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6285,9 +6417,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -6358,7 +6492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6374,9 +6508,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -6447,7 +6583,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6463,9 +6599,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -6531,7 +6669,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6547,9 +6685,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -6616,7 +6756,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6632,9 +6772,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -6701,7 +6843,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6717,9 +6859,11 @@
Type:
-
-

<readonly> z :number

- +
+

+ <readonly> z : number + +

@@ -6788,7 +6932,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -6811,7 +6955,7 @@

Methods

-

+

addChild(child)

@@ -6925,7 +7069,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6978,7 +7122,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -7116,7 +7260,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7169,7 +7313,7 @@
Returns:
-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -7459,7 +7603,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -7512,7 +7656,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -7803,7 +7947,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -7856,7 +8000,7 @@
Returns:
-

+

bringToTop()

@@ -7923,7 +8067,7 @@

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

+

contains(child)

@@ -8090,7 +8234,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8139,7 +8283,7 @@
Returns:
-

+

crop(rect [, copy])

@@ -8316,7 +8460,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -8345,7 +8489,7 @@
Parameters:
-

+

destroy()

@@ -8416,7 +8560,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -8445,7 +8589,7 @@

-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -8661,7 +8805,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -8716,7 +8860,7 @@
Returns:
-

+

getBounds(matrix)

@@ -8837,7 +8981,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -8890,7 +9034,7 @@
Returns:
-

+

getChildAt(index)

@@ -9004,7 +9148,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9057,7 +9201,7 @@
Returns:
-

+

getChildIndex(child)

@@ -9171,7 +9315,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9224,7 +9368,7 @@
Returns:
-

+

getLocalBounds()

@@ -9288,7 +9432,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -9341,7 +9485,7 @@
Returns:
-

+

kill()

@@ -9409,7 +9553,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -9462,7 +9606,7 @@
Returns:
-

+

loadTexture(key [, frame] [, stopAnimation])

@@ -9694,7 +9838,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -9723,7 +9867,7 @@
Parameters:
-

+

moveDown()

@@ -9790,7 +9934,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -9843,7 +9987,7 @@
Returns:
-

+

moveUp()

@@ -9910,7 +10054,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -9963,7 +10107,7 @@
Returns:
-

+

overlap(displayObject)

@@ -10093,7 +10237,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10146,7 +10290,7 @@
Returns:
-

+

play(name [, frameRate] [, loop] [, killOnComplete])

@@ -10399,7 +10543,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -10452,7 +10596,7 @@
Returns:
-

+

<protected> postUpdate()

@@ -10516,7 +10660,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -10545,7 +10689,7 @@

-

+

preUpdate()

@@ -10605,7 +10749,7 @@

Source:
- src/gameobjects/Image.js line 81 + src/gameobjects/Image.js line 81 @@ -10634,7 +10778,7 @@

-

+

<protected> preUpdateChildren()

@@ -10698,7 +10842,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -10727,7 +10871,7 @@

-

+

removeChild(child)

@@ -10841,7 +10985,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -10894,7 +11038,7 @@
Returns:
-

+

removeChildAt(index)

@@ -11008,7 +11152,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -11061,7 +11205,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -11199,7 +11343,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -11228,7 +11372,7 @@
Parameters:
-

+

reset(x, y [, health])

@@ -11438,7 +11582,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11491,7 +11635,7 @@
Returns:
-

+

resetFrame()

@@ -11555,7 +11699,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -11584,7 +11728,7 @@

-

+

resizeFrame(parent, width, height)

@@ -11748,7 +11892,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -11777,7 +11921,7 @@
Parameters:
-

+

revive( [health])

@@ -11913,7 +12057,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -11966,7 +12110,7 @@
Returns:
-

+

sendToBack()

@@ -12033,7 +12177,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -12086,7 +12230,7 @@
Returns:
-

+

setChildIndex(child, index)

@@ -12224,7 +12368,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -12253,7 +12397,7 @@
Parameters:
-

+

setFrame(frame)

@@ -12368,7 +12512,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -12397,7 +12541,7 @@
Parameters:
-

+

setScaleMinMax(minX, minY, maxX, maxY)

@@ -12605,7 +12749,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -12634,7 +12778,7 @@
Parameters:
-

+

setTexture(texture [, destroy])

@@ -12805,7 +12949,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -12834,7 +12978,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -12972,7 +13116,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -13001,7 +13145,7 @@
Parameters:
-

+

toGlobal(position)

@@ -13115,7 +13259,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -13170,7 +13314,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -13328,7 +13472,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -13383,7 +13527,7 @@
Returns:
-

+

update()

@@ -13449,7 +13593,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -13478,7 +13622,7 @@

-

+

updateCache()

@@ -13542,7 +13686,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -13597,7 +13741,7 @@
Returns:
-

+

updateCrop()

@@ -13662,7 +13806,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -13691,7 +13835,7 @@

-

+

updateTransform( [parent])

@@ -13825,7 +13969,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -13894,9 +14038,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -13913,9 +14057,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -13927,7 +14071,7 @@
Returns:
- +
@@ -13942,7 +14086,7 @@
Returns:
- + diff --git a/docs/Phaser.ImageCollection.html b/docs/Phaser.ImageCollection.html index 7f877417d..48598fa1e 100644 --- a/docs/Phaser.ImageCollection.html +++ b/docs/Phaser.ImageCollection.html @@ -6,7 +6,7 @@ Phaser CE Class: ImageCollection - + @@ -125,7 +125,7 @@

-

+

new ImageCollection(name, firstgid [, width] [, height] [, margin] [, spacing] [, properties])

@@ -483,7 +483,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 22 + src/tilemap/ImageCollection.js line 22 @@ -527,9 +527,11 @@

Members

-
-

firstgid :integer

- +
+

+ firstgid : integer + +

@@ -587,7 +589,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 40 + src/tilemap/ImageCollection.js line 40 @@ -603,9 +605,11 @@
Type:
-
-

<readonly> imageHeight :integer

- +
+

+ <readonly> imageHeight : integer + +

@@ -662,7 +666,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 54 + src/tilemap/ImageCollection.js line 54 @@ -678,9 +682,11 @@
Type:
-
-

<readonly> imageMargin

- +
+

+ <readonly> imageMargin + +

@@ -780,7 +786,7 @@
Properties:
Source:
- src/tilemap/ImageCollection.js line 63 + src/tilemap/ImageCollection.js line 63 @@ -796,9 +802,11 @@
Properties:
-
-

<readonly> images :array

- +
+

+ <readonly> images : array + +

@@ -855,7 +863,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 85 + src/tilemap/ImageCollection.js line 85 @@ -871,9 +879,11 @@
Type:
-
-

<readonly> imageSpacing :integer

- +
+

+ <readonly> imageSpacing : integer + +

@@ -931,7 +941,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 71 + src/tilemap/ImageCollection.js line 71 @@ -947,9 +957,11 @@
Type:
-
-

<readonly> imageWidth :integer

- +
+

+ <readonly> imageWidth : integer + +

@@ -1006,7 +1018,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 47 + src/tilemap/ImageCollection.js line 47 @@ -1022,9 +1034,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -1081,7 +1095,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 33 + src/tilemap/ImageCollection.js line 33 @@ -1097,9 +1111,11 @@
Type:
-
-

properties :object

- +
+

+ properties : object + +

@@ -1156,7 +1172,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 77 + src/tilemap/ImageCollection.js line 77 @@ -1172,9 +1188,11 @@
Type:
-
-

<readonly> total :integer

- +
+

+ <readonly> total : integer + +

@@ -1231,7 +1249,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 93 + src/tilemap/ImageCollection.js line 93 @@ -1254,7 +1272,7 @@

Methods

-

+

addImage(gid, image)

@@ -1383,7 +1401,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 114 + src/tilemap/ImageCollection.js line 114 @@ -1412,7 +1430,7 @@
Parameters:
-

+

containsImageIndex(imageIndex)

@@ -1517,7 +1535,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 98 + src/tilemap/ImageCollection.js line 98 @@ -1584,9 +1602,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1603,9 +1621,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1617,7 +1635,7 @@
Returns:
- +
@@ -1632,7 +1650,7 @@
Returns:
- + diff --git a/docs/Phaser.Input.html b/docs/Phaser.Input.html index f10fd3a4a..c2bee0159 100644 --- a/docs/Phaser.Input.html +++ b/docs/Phaser.Input.html @@ -6,7 +6,7 @@ Phaser CE Class: Input - + @@ -125,7 +125,7 @@

-

+

new Input(game)

@@ -231,7 +231,7 @@
Parameters:
Source:
- src/input/Input.js line 15 + src/input/Input.js line 15 @@ -275,9 +275,11 @@

Members

-
-

<static, constant> MAX_POINTERS :integer

- +
+

+ <static, constant> MAX_POINTERS : integer + +

@@ -334,7 +336,7 @@
Type:
Source:
- src/input/Input.js line 386 + src/input/Input.js line 405 @@ -350,9 +352,11 @@
Type:
-
-

<static, constant> MOUSE_OVERRIDES_TOUCH :number

- +
+

+ <static, constant> MOUSE_OVERRIDES_TOUCH : number + +

@@ -405,7 +409,7 @@
Type:
Source:
- src/input/Input.js line 367 + src/input/Input.js line 386 @@ -421,9 +425,11 @@
Type:
-
-

<static, constant> MOUSE_TOUCH_COMBINE :number

- +
+

+ <static, constant> MOUSE_TOUCH_COMBINE : number + +

@@ -476,7 +482,7 @@
Type:
Source:
- src/input/Input.js line 379 + src/input/Input.js line 398 @@ -492,9 +498,11 @@
Type:
-
-

<static, constant> TOUCH_OVERRIDES_MOUSE :number

- +
+

+ <static, constant> TOUCH_OVERRIDES_MOUSE : number + +

@@ -547,7 +555,7 @@
Type:
Source:
- src/input/Input.js line 373 + src/input/Input.js line 392 @@ -563,9 +571,11 @@
Type:
-
-

activePointer :Phaser.Pointer

- +
+

+ activePointer : Phaser.Pointer + +

@@ -623,7 +633,7 @@
Type:
Source:
- src/input/Input.js line 232 + src/input/Input.js line 232 @@ -639,9 +649,11 @@
Type:
-
-

circle :Phaser.Circle

- +
+

+ circle : Phaser.Circle + +

@@ -699,7 +711,7 @@
Type:
Source:
- src/input/Input.js line 91 + src/input/Input.js line 91 @@ -715,9 +727,11 @@
Type:
-
-

doubleTapRate :number

- +
+

+ doubleTapRate : number + +

@@ -781,7 +795,7 @@
Type:
Source:
- src/input/Input.js line 114 + src/input/Input.js line 114 @@ -797,9 +811,11 @@
Type:
-
-

enabled :boolean

- +
+

+ enabled : boolean + +

@@ -864,7 +880,7 @@
Type:
Source:
- src/input/Input.js line 67 + src/input/Input.js line 67 @@ -880,9 +896,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -939,7 +957,7 @@
Type:
Source:
- src/input/Input.js line 20 + src/input/Input.js line 20 @@ -955,9 +973,11 @@
Type:
-
-

gamepad :Phaser.Gamepad

- +
+

+ gamepad : Phaser.Gamepad + +

@@ -1014,7 +1034,7 @@
Type:
Source:
- src/input/Input.js line 283 + src/input/Input.js line 283 @@ -1030,9 +1050,11 @@
Type:
-
-

hitCanvas :HTMLCanvasElement

- +
+

+ hitCanvas : HTMLCanvasElement + +

@@ -1089,7 +1111,7 @@
Type:
Source:
- src/input/Input.js line 26 + src/input/Input.js line 26 @@ -1105,9 +1127,11 @@
Type:
-
-

hitContext :CanvasRenderingContext2D

- +
+

+ hitContext : CanvasRenderingContext2D + +

@@ -1164,7 +1188,7 @@
Type:
Source:
- src/input/Input.js line 32 + src/input/Input.js line 32 @@ -1180,9 +1204,11 @@
Type:
-
-

holdRate :number

- +
+

+ holdRate : number + +

@@ -1246,7 +1272,7 @@
Type:
Source:
- src/input/Input.js line 120 + src/input/Input.js line 120 @@ -1262,9 +1288,11 @@
Type:
-
-

interactiveItems :Phaser.ArraySet

- +
+

+ interactiveItems : Phaser.ArraySet + +

@@ -1321,7 +1349,7 @@
Type:
Source:
- src/input/Input.js line 329 + src/input/Input.js line 348 @@ -1337,9 +1365,11 @@
Type:
-
-

justPressedRate :number

- +
+

+ justPressedRate : number + +

@@ -1403,7 +1433,7 @@
Type:
Source:
- src/input/Input.js line 126 + src/input/Input.js line 126 @@ -1419,9 +1449,11 @@
Type:
-
-

justReleasedRate :number

- +
+

+ justReleasedRate : number + +

@@ -1485,7 +1517,7 @@
Type:
Source:
- src/input/Input.js line 132 + src/input/Input.js line 132 @@ -1501,9 +1533,11 @@
Type:
-
-

keyboard :Phaser.Keyboard

- +
+

+ keyboard : Phaser.Keyboard + +

@@ -1560,7 +1594,7 @@
Type:
Source:
- src/input/Input.js line 256 + src/input/Input.js line 256 @@ -1576,9 +1610,11 @@
Type:
-
-

maxPointers :integer

- +
+

+ maxPointers : integer + +

@@ -1642,7 +1678,7 @@
Type:
Source:
- src/input/Input.js line 102 + src/input/Input.js line 102 @@ -1658,9 +1694,11 @@
Type:
-
-

minPriorityID :number

- +
+

+ minPriorityID : number + +

@@ -1718,7 +1756,7 @@
Type:
Source:
- src/input/Input.js line 323 + src/input/Input.js line 342 @@ -1734,9 +1772,11 @@
Type:
-
-

mouse :Phaser.Mouse

- +
+

+ mouse : Phaser.Mouse + +

@@ -1795,7 +1835,7 @@
Type:
Source:
- src/input/Input.js line 249 + src/input/Input.js line 249 @@ -1811,9 +1851,11 @@
Type:
-
-

mousePointer :Pointer

- +
+

+ mousePointer : Pointer + +

@@ -1870,7 +1912,7 @@
Type:
Source:
- src/input/Input.js line 239 + src/input/Input.js line 239 @@ -1886,9 +1928,11 @@
Type:
-
-

<protected> moveCallbacks :array

- +
+

+ <protected> moveCallbacks : array + +

@@ -1946,7 +1990,7 @@
Type:
Source:
- src/input/Input.js line 40 + src/input/Input.js line 40 @@ -1962,9 +2006,11 @@
Type:
-
-

mspointer :Phaser.MSPointer

- +
+

+ mspointer : Phaser.MSPointer + +

@@ -2023,7 +2069,7 @@
Type:
Source:
- src/input/Input.js line 276 + src/input/Input.js line 276 @@ -2039,9 +2085,11 @@
Type:
-
-

multiInputOverride :number

- +
+

+ multiInputOverride : number + +

@@ -2098,7 +2146,7 @@
Type:
Source:
- src/input/Input.js line 73 + src/input/Input.js line 73 @@ -2114,15 +2162,22 @@
Type:
-
-

onDown :Phaser.Signal

- +
+

+ onDown : Phaser.Signal + +

-

A Signal that is dispatched each time a pointer is pressed down.

+

A Signal that is dispatched each time a pointer is pressed down. +It is sent two arguments:

+
    +
  • {Phaser.Pointer} The pointer that caused the event.
  • +
  • {Event} The original DOM event.
  • +
@@ -2173,7 +2228,7 @@
Type:
Source:
- src/input/Input.js line 297 + src/input/Input.js line 302 @@ -2189,15 +2244,21 @@
Type:
-
-

onHold :Phaser.Signal

- +
+

+ onHold : Phaser.Signal + +

-

A Signal that is dispatched each time a pointer is held down.

+

A Signal that is dispatched each time a pointer is held down. +It is sent one argument:

+
    +
  • {Phaser.Pointer} The pointer that caused the event.
  • +
@@ -2248,7 +2309,7 @@
Type:
Source:
- src/input/Input.js line 315 + src/input/Input.js line 334 @@ -2264,15 +2325,22 @@
Type:
-
-

onTap :Phaser.Signal

- +
+

+ onTap : Phaser.Signal + +

-

A Signal that is dispatched each time a pointer is tapped.

+

A Signal that is dispatched each time a pointer is tapped. +It is sent two arguments:

+
    +
  • {Phaser.Pointer} The pointer that caused the event.
  • +
  • {boolean} True if this was a double tap.
  • +
@@ -2323,7 +2391,7 @@
Type:
Source:
- src/input/Input.js line 309 + src/input/Input.js line 324 @@ -2339,15 +2407,22 @@
Type:
-
-

onUp :Phaser.Signal

- +
+

+ onUp : Phaser.Signal + +

-

A Signal that is dispatched each time a pointer is released.

+

A Signal that is dispatched each time a pointer is released. +It is sent two arguments:

+
    +
  • {Phaser.Pointer} The pointer that caused the event.
  • +
  • {Event} The original DOM event.
  • +
@@ -2398,7 +2473,7 @@
Type:
Source:
- src/input/Input.js line 303 + src/input/Input.js line 313 @@ -2414,9 +2489,11 @@
Type:
-
-

pointer1 :Phaser.Pointer

- +
+

+ pointer1 : Phaser.Pointer + +

@@ -2473,7 +2550,7 @@
Type:
Source:
- src/input/Input.js line 169 + src/input/Input.js line 169 @@ -2489,9 +2566,11 @@
Type:
-
-

pointer2 :Phaser.Pointer

- +
+

+ pointer2 : Phaser.Pointer + +

@@ -2548,7 +2627,7 @@
Type:
Source:
- src/input/Input.js line 174 + src/input/Input.js line 174 @@ -2564,9 +2643,11 @@
Type:
-
-

pointer3 :Phaser.Pointer

- +
+

+ pointer3 : Phaser.Pointer + +

@@ -2623,7 +2704,7 @@
Type:
Source:
- src/input/Input.js line 179 + src/input/Input.js line 179 @@ -2639,9 +2720,11 @@
Type:
-
-

pointer4 :Phaser.Pointer

- +
+

+ pointer4 : Phaser.Pointer + +

@@ -2698,7 +2781,7 @@
Type:
Source:
- src/input/Input.js line 184 + src/input/Input.js line 184 @@ -2714,9 +2797,11 @@
Type:
-
-

pointer5 :Phaser.Pointer

- +
+

+ pointer5 : Phaser.Pointer + +

@@ -2773,7 +2858,7 @@
Type:
Source:
- src/input/Input.js line 189 + src/input/Input.js line 189 @@ -2789,9 +2874,11 @@
Type:
-
-

pointer6 :Phaser.Pointer

- +
+

+ pointer6 : Phaser.Pointer + +

@@ -2848,7 +2935,7 @@
Type:
Source:
- src/input/Input.js line 194 + src/input/Input.js line 194 @@ -2864,9 +2951,11 @@
Type:
-
-

pointer7 :Phaser.Pointer

- +
+

+ pointer7 : Phaser.Pointer + +

@@ -2923,7 +3012,7 @@
Type:
Source:
- src/input/Input.js line 199 + src/input/Input.js line 199 @@ -2939,9 +3028,11 @@
Type:
-
-

pointer8 :Phaser.Pointer

- +
+

+ pointer8 : Phaser.Pointer + +

@@ -2998,7 +3089,7 @@
Type:
Source:
- src/input/Input.js line 204 + src/input/Input.js line 204 @@ -3014,9 +3105,11 @@
Type:
-
-

pointer9 :Phaser.Pointer

- +
+

+ pointer9 : Phaser.Pointer + +

@@ -3073,7 +3166,7 @@
Type:
Source:
- src/input/Input.js line 209 + src/input/Input.js line 209 @@ -3089,9 +3182,11 @@
Type:
-
-

pointer10 :Phaser.Pointer

- +
+

+ pointer10 : Phaser.Pointer + +

@@ -3148,7 +3243,7 @@
Type:
Source:
- src/input/Input.js line 214 + src/input/Input.js line 214 @@ -3164,9 +3259,11 @@
Type:
-
-

<readonly> pointers :Array.<Phaser.Pointer>

- +
+

+ <readonly> pointers : Array.<Phaser.Pointer> + +

@@ -3224,7 +3321,7 @@
Type:
Source:
- src/input/Input.js line 223 + src/input/Input.js line 223 @@ -3240,9 +3337,11 @@
Type:
-
-

<readonly> pollLocked :boolean

- +
+

+ <readonly> pollLocked : boolean + +

@@ -3299,7 +3398,7 @@
Type:
Source:
- src/input/Input.js line 1164 + src/input/Input.js line 1183 @@ -3315,9 +3414,11 @@
Type:
-
-

pollRate :number

- +
+

+ pollRate : number + +

@@ -3374,7 +3475,7 @@
Type:
Source:
- src/input/Input.js line 58 + src/input/Input.js line 58 @@ -3390,9 +3491,11 @@
Type:
-
-

position :Phaser.Point

- +
+

+ position : Phaser.Point + +

@@ -3449,7 +3552,7 @@
Type:
Source:
- src/input/Input.js line 79 + src/input/Input.js line 79 @@ -3465,9 +3568,11 @@
Type:
-
-

recordLimit :number

- +
+

+ recordLimit : number + +

@@ -3532,7 +3637,7 @@
Type:
Source:
- src/input/Input.js line 155 + src/input/Input.js line 155 @@ -3548,9 +3653,11 @@
Type:
-
-

recordPointerHistory :boolean

- +
+

+ recordPointerHistory : boolean + +

@@ -3609,7 +3716,7 @@
Type:
Source:
- src/input/Input.js line 141 + src/input/Input.js line 141 @@ -3625,9 +3732,11 @@
Type:
-
-

recordRate :number

- +
+

+ recordRate : number + +

@@ -3691,7 +3800,7 @@
Type:
Source:
- src/input/Input.js line 147 + src/input/Input.js line 147 @@ -3707,9 +3816,11 @@
Type:
-
-

resetLocked :boolean

- +
+

+ resetLocked : boolean + +

@@ -3767,7 +3878,7 @@
Type:
Source:
- src/input/Input.js line 291 + src/input/Input.js line 291 @@ -3783,9 +3894,11 @@
Type:
-
-

scale :Phaser.Point

- +
+

+ scale : Phaser.Point + +

@@ -3842,7 +3955,7 @@
Type:
Source:
- src/input/Input.js line 96 + src/input/Input.js line 96 @@ -3858,9 +3971,11 @@
Type:
-
-

speed :Phaser.Point

- +
+

+ speed : Phaser.Point + +

@@ -3917,7 +4032,7 @@
Type:
Source:
- src/input/Input.js line 84 + src/input/Input.js line 84 @@ -3933,9 +4048,11 @@
Type:
-
-

tapRate :number

- +
+

+ tapRate : number + +

@@ -3999,7 +4116,7 @@
Type:
Source:
- src/input/Input.js line 108 + src/input/Input.js line 108 @@ -4015,9 +4132,11 @@
Type:
-
-

<readonly> totalActivePointers :integers

- +
+

+ <readonly> totalActivePointers : integers + +

@@ -4074,7 +4193,7 @@
Type:
Source:
- src/input/Input.js line 1192 + src/input/Input.js line 1211 @@ -4090,9 +4209,11 @@
Type:
-
-

<readonly> totalInactivePointers :number

- +
+

+ <readonly> totalInactivePointers : number + +

@@ -4149,7 +4270,7 @@
Type:
Source:
- src/input/Input.js line 1178 + src/input/Input.js line 1197 @@ -4165,9 +4286,11 @@
Type:
-
-

touch :Phaser.Touch

- +
+

+ touch : Phaser.Touch + +

@@ -4226,7 +4349,7 @@
Type:
Source:
- src/input/Input.js line 266 + src/input/Input.js line 266 @@ -4242,9 +4365,11 @@
Type:
-
-

<protected> touchLockCallbacks :array

- +
+

+ <protected> touchLockCallbacks : array + +

@@ -4303,7 +4428,7 @@
Type:
Source:
- src/input/Input.js line 164 + src/input/Input.js line 164 @@ -4319,9 +4444,11 @@
Type:
-
-

<readonly> worldX :number

- +
+

+ <readonly> worldX : number + +

@@ -4378,7 +4505,7 @@
Type:
Source:
- src/input/Input.js line 1206 + src/input/Input.js line 1225 @@ -4394,9 +4521,11 @@
Type:
-
-

<readonly> worldY :number

- +
+

+ <readonly> worldY : number + +

@@ -4453,7 +4582,7 @@
Type:
Source:
- src/input/Input.js line 1220 + src/input/Input.js line 1239 @@ -4469,9 +4598,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -4529,7 +4660,7 @@
Type:
Source:
- src/input/Input.js line 1128 + src/input/Input.js line 1147 @@ -4545,9 +4676,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -4605,7 +4738,7 @@
Type:
Source:
- src/input/Input.js line 1146 + src/input/Input.js line 1165 @@ -4628,7 +4761,7 @@

Methods

-

+

addMoveCallback(callback, context)

@@ -4765,7 +4898,7 @@
Parameters:
Source:
- src/input/Input.js line 516 + src/input/Input.js line 535 @@ -4794,7 +4927,7 @@
Parameters:
-

+

addPointer()

@@ -4851,7 +4984,7 @@

Source:
- src/input/Input.js line 633 + src/input/Input.js line 652 @@ -4907,7 +5040,7 @@
Returns:
-

+

addTouchLockCallback(callback, context [, onEnd])

@@ -5107,7 +5240,7 @@
Parameters:
Source:
- src/input/Input.js line 542 + src/input/Input.js line 561 @@ -5136,7 +5269,7 @@
Parameters:
-

+

<protected> boot()

@@ -5191,7 +5324,7 @@

Source:
- src/input/Input.js line 390 + src/input/Input.js line 409 @@ -5220,7 +5353,7 @@

-

+

deleteMoveCallback(callback, context)

@@ -5349,7 +5482,7 @@
Parameters:
Source:
- src/input/Input.js line 611 + src/input/Input.js line 630 @@ -5378,7 +5511,7 @@
Parameters:
-

+

destroy()

@@ -5433,7 +5566,7 @@

Source:
- src/input/Input.js line 458 + src/input/Input.js line 477 @@ -5462,7 +5595,7 @@

-

+

getLocalPosition(displayObject, pointer)

@@ -5594,7 +5727,7 @@
Parameters:
Source:
- src/input/Input.js line 986 + src/input/Input.js line 1005 @@ -5647,7 +5780,7 @@
Returns:
-

+

getPointer( [isActive])

@@ -5772,7 +5905,7 @@
Parameters:
Source:
- src/input/Input.js line 908 + src/input/Input.js line 927 @@ -5825,7 +5958,7 @@
Returns:
-

+

getPointerFromId(pointerId)

@@ -5932,7 +6065,7 @@
Parameters:
Source:
- src/input/Input.js line 960 + src/input/Input.js line 979 @@ -5985,7 +6118,7 @@
Returns:
-

+

getPointerFromIdentifier(identifier)

@@ -6093,7 +6226,7 @@
Parameters:
Source:
- src/input/Input.js line 933 + src/input/Input.js line 952 @@ -6146,7 +6279,7 @@
Returns:
-

+

hitTest(displayObject, pointer, localPoint)

@@ -6299,7 +6432,7 @@
Parameters:
Source:
- src/input/Input.js line 1008 + src/input/Input.js line 1027 @@ -6328,7 +6461,7 @@
Parameters:
-

+

removeTouchLockCallback(callback, context)

@@ -6457,7 +6590,7 @@
Parameters:
Source:
- src/input/Input.js line 564 + src/input/Input.js line 583 @@ -6510,7 +6643,7 @@
Returns:
-

+

reset( [hard])

@@ -6638,7 +6771,7 @@
Parameters:
Source:
- src/input/Input.js line 698 + src/input/Input.js line 717 @@ -6667,7 +6800,7 @@
Parameters:
-

+

resetSpeed(x, y)

@@ -6796,7 +6929,7 @@
Parameters:
Source:
- src/input/Input.js line 757 + src/input/Input.js line 776 @@ -6825,7 +6958,7 @@
Parameters:
-

+

setInteractiveCandidateHandler(callback, context)

@@ -6965,7 +7098,7 @@
Parameters:
Source:
- src/input/Input.js line 487 + src/input/Input.js line 506 @@ -6994,7 +7127,7 @@
Parameters:
-

+

<protected> startPointer(event)

@@ -7100,7 +7233,7 @@
Parameters:
Source:
- src/input/Input.js line 771 + src/input/Input.js line 790 @@ -7153,7 +7286,7 @@
Returns:
-

+

<protected> stopPointer(event)

@@ -7258,7 +7391,7 @@
Parameters:
Source:
- src/input/Input.js line 846 + src/input/Input.js line 865 @@ -7311,7 +7444,7 @@
Returns:
-

+

<protected> update()

@@ -7366,7 +7499,7 @@

Source:
- src/input/Input.js line 659 + src/input/Input.js line 678 @@ -7395,7 +7528,7 @@

-

+

<protected> updatePointer(event)

@@ -7501,7 +7634,7 @@
Parameters:
Source:
- src/input/Input.js line 811 + src/input/Input.js line 830 @@ -7568,9 +7701,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -7587,9 +7720,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -7601,7 +7734,7 @@
Returns:
- +
@@ -7616,7 +7749,7 @@
Returns:
- + diff --git a/docs/Phaser.InputHandler.html b/docs/Phaser.InputHandler.html index aa0f749ea..61f9b3537 100644 --- a/docs/Phaser.InputHandler.html +++ b/docs/Phaser.InputHandler.html @@ -6,7 +6,7 @@ Phaser CE Class: InputHandler - + @@ -125,7 +125,7 @@

-

+

new InputHandler(sprite)

@@ -230,7 +230,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 14 + src/input/InputHandler.js line 14 @@ -274,9 +274,11 @@

Members

-
-

allowHorizontalDrag :boolean

- +
+

+ allowHorizontalDrag : boolean + +

@@ -340,7 +342,7 @@
Type:
Source:
- src/input/InputHandler.js line 69 + src/input/InputHandler.js line 69 @@ -356,9 +358,11 @@
Type:
-
-

allowVerticalDrag :boolean

- +
+

+ allowVerticalDrag : boolean + +

@@ -422,7 +426,7 @@
Type:
Source:
- src/input/InputHandler.js line 75 + src/input/InputHandler.js line 75 @@ -438,9 +442,11 @@
Type:
-
-

boundsRect :Phaser.Rectangle

- +
+

+ boundsRect : Phaser.Rectangle + +

@@ -497,7 +503,7 @@
Type:
Source:
- src/input/InputHandler.js line 161 + src/input/InputHandler.js line 161 @@ -513,9 +519,11 @@
Type:
-
-

boundsSprite :Phaser.Sprite

- +
+

+ boundsSprite : Phaser.Sprite + +

@@ -572,7 +580,7 @@
Type:
Source:
- src/input/InputHandler.js line 167 + src/input/InputHandler.js line 167 @@ -588,9 +596,11 @@
Type:
-
-

bringToTop :boolean

- +
+

+ bringToTop : boolean + +

@@ -647,7 +657,7 @@
Type:
Source:
- src/input/InputHandler.js line 81 + src/input/InputHandler.js line 81 @@ -663,9 +673,11 @@
Type:
-
-

<protected> checked :boolean

- +
+

+ <protected> checked : boolean + +

@@ -722,7 +734,7 @@
Type:
Source:
- src/input/InputHandler.js line 36 + src/input/InputHandler.js line 36 @@ -738,9 +750,11 @@
Type:
-
-

downPoint :Phaser.Point

- +
+

+ downPoint : Phaser.Point + +

@@ -797,7 +811,7 @@
Type:
Source:
- src/input/InputHandler.js line 207 + src/input/InputHandler.js line 207 @@ -813,9 +827,11 @@
Type:
-
-

dragDistanceThreshold :integer

- +
+

+ dragDistanceThreshold : integer + +

@@ -872,7 +888,7 @@
Type:
Source:
- src/input/InputHandler.js line 197 + src/input/InputHandler.js line 197 @@ -888,9 +904,11 @@
Type:
-
-

dragFromCenter :boolean

- +
+

+ dragFromCenter : boolean + +

@@ -947,7 +965,7 @@
Type:
Source:
- src/input/InputHandler.js line 182 + src/input/InputHandler.js line 182 @@ -963,9 +981,11 @@
Type:
-
-

draggable :boolean

- +
+

+ draggable : boolean + +

@@ -1022,7 +1042,7 @@
Type:
Source:
- src/input/InputHandler.js line 155 + src/input/InputHandler.js line 155 @@ -1038,9 +1058,11 @@
Type:
-
-

dragOffset :Phaser.Point

- +
+

+ dragOffset : Phaser.Point + +

@@ -1097,7 +1119,7 @@
Type:
Source:
- src/input/InputHandler.js line 177 + src/input/InputHandler.js line 177 @@ -1113,9 +1135,11 @@
Type:
-
-

dragStartPoint :Phaser.Point

- +
+

+ dragStartPoint : Phaser.Point + +

@@ -1172,7 +1196,7 @@
Type:
Source:
- src/input/InputHandler.js line 192 + src/input/InputHandler.js line 192 @@ -1188,9 +1212,11 @@
Type:
-
-

dragStopBlocksInputUp :boolean

- +
+

+ dragStopBlocksInputUp : boolean + +

@@ -1247,7 +1273,7 @@
Type:
Source:
- src/input/InputHandler.js line 187 + src/input/InputHandler.js line 187 @@ -1263,9 +1289,11 @@
Type:
-
-

dragTimeThreshold :integer

- +
+

+ dragTimeThreshold : integer + +

@@ -1322,7 +1350,7 @@
Type:
Source:
- src/input/InputHandler.js line 202 + src/input/InputHandler.js line 202 @@ -1338,9 +1366,11 @@
Type:
-
-

enabled :boolean

- +
+

+ enabled : boolean + +

@@ -1397,7 +1427,7 @@
Type:
Source:
- src/input/InputHandler.js line 30 + src/input/InputHandler.js line 30 @@ -1413,9 +1443,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -1472,7 +1504,7 @@
Type:
Source:
- src/input/InputHandler.js line 24 + src/input/InputHandler.js line 24 @@ -1488,9 +1520,11 @@
Type:
-
-

isDragged :boolean

- +
+

+ isDragged : boolean + +

@@ -1547,7 +1581,7 @@
Type:
Source:
- src/input/InputHandler.js line 63 + src/input/InputHandler.js line 63 @@ -1563,9 +1597,11 @@
Type:
-
-

pixelPerfectAlpha :number

- +
+

+ pixelPerfectAlpha : number + +

@@ -1629,7 +1665,7 @@
Type:
Source:
- src/input/InputHandler.js line 149 + src/input/InputHandler.js line 149 @@ -1645,9 +1681,11 @@
Type:
-
-

pixelPerfectClick :boolean

- +
+

+ pixelPerfectClick : boolean + +

@@ -1707,7 +1745,7 @@
Type:
Source:
- src/input/InputHandler.js line 143 + src/input/InputHandler.js line 143 @@ -1723,9 +1761,11 @@
Type:
-
-

pixelPerfectOver :boolean

- +
+

+ pixelPerfectOver : boolean + +

@@ -1785,7 +1825,7 @@
Type:
Source:
- src/input/InputHandler.js line 133 + src/input/InputHandler.js line 133 @@ -1801,9 +1841,11 @@
Type:
-
-

priorityID :number

- +
+

+ priorityID : number + +

@@ -1862,7 +1904,7 @@
Type:
Source:
- src/input/InputHandler.js line 45 + src/input/InputHandler.js line 45 @@ -1878,9 +1920,11 @@
Type:
-
-

scaleLayer :boolean

- +
+

+ scaleLayer : boolean + +

@@ -1937,7 +1981,7 @@
Type:
Source:
- src/input/InputHandler.js line 172 + src/input/InputHandler.js line 172 @@ -1953,9 +1997,11 @@
Type:
-
-

snapOffset :Phaser.Point

- +
+

+ snapOffset : Phaser.Point + +

@@ -2012,7 +2058,7 @@
Type:
Source:
- src/input/InputHandler.js line 87 + src/input/InputHandler.js line 87 @@ -2028,9 +2074,11 @@
Type:
-
-

snapOffsetX :number

- +
+

+ snapOffsetX : number + +

@@ -2087,7 +2135,7 @@
Type:
Source:
- src/input/InputHandler.js line 117 + src/input/InputHandler.js line 117 @@ -2103,9 +2151,11 @@
Type:
-
-

snapOffsetY :number

- +
+

+ snapOffsetY : number + +

@@ -2162,7 +2212,7 @@
Type:
Source:
- src/input/InputHandler.js line 123 + src/input/InputHandler.js line 123 @@ -2178,9 +2228,11 @@
Type:
-
-

snapOnDrag :boolean

- +
+

+ snapOnDrag : boolean + +

@@ -2237,7 +2289,7 @@
Type:
Source:
- src/input/InputHandler.js line 93 + src/input/InputHandler.js line 93 @@ -2253,9 +2305,11 @@
Type:
-
-

snapOnRelease :boolean

- +
+

+ snapOnRelease : boolean + +

@@ -2312,7 +2366,7 @@
Type:
Source:
- src/input/InputHandler.js line 99 + src/input/InputHandler.js line 99 @@ -2328,9 +2382,11 @@
Type:
-
-

snapPoint :Phaser.Point

- +
+

+ snapPoint : Phaser.Point + +

@@ -2387,7 +2443,7 @@
Type:
Source:
- src/input/InputHandler.js line 212 + src/input/InputHandler.js line 212 @@ -2403,9 +2459,11 @@
Type:
-
-

snapX :number

- +
+

+ snapX : number + +

@@ -2462,7 +2520,7 @@
Type:
Source:
- src/input/InputHandler.js line 105 + src/input/InputHandler.js line 105 @@ -2478,9 +2536,11 @@
Type:
-
-

snapY :number

- +
+

+ snapY : number + +

@@ -2537,7 +2597,7 @@
Type:
Source:
- src/input/InputHandler.js line 111 + src/input/InputHandler.js line 111 @@ -2553,9 +2613,11 @@
Type:
-
-

sprite :Phaser.Sprite

- +
+

+ sprite : Phaser.Sprite + +

@@ -2612,7 +2674,7 @@
Type:
Source:
- src/input/InputHandler.js line 19 + src/input/InputHandler.js line 19 @@ -2628,9 +2690,11 @@
Type:
-
-

useHandCursor :boolean

- +
+

+ useHandCursor : boolean + +

@@ -2687,7 +2751,7 @@
Type:
Source:
- src/input/InputHandler.js line 51 + src/input/InputHandler.js line 51 @@ -2710,7 +2774,7 @@

Methods

-

+

checkBoundsRect()

@@ -2765,7 +2829,7 @@

Source:
- src/input/InputHandler.js line 1678 + src/input/InputHandler.js line 1678 @@ -2794,7 +2858,7 @@

-

+

checkBoundsSprite()

@@ -2849,7 +2913,7 @@

Source:
- src/input/InputHandler.js line 1728 + src/input/InputHandler.js line 1728 @@ -2878,7 +2942,7 @@

-

+

checkPixel(x, y [, pointer])

@@ -3060,7 +3124,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 799 + src/input/InputHandler.js line 799 @@ -3113,7 +3177,7 @@
Returns:
-

+

checkPointerDown(pointer [, fastTest])

@@ -3275,7 +3339,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 710 + src/input/InputHandler.js line 710 @@ -3328,7 +3392,7 @@
Returns:
-

+

checkPointerOver(pointer [, fastTest])

@@ -3490,7 +3554,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 755 + src/input/InputHandler.js line 755 @@ -3539,7 +3603,7 @@
Returns:
-

+

destroy()

@@ -3594,7 +3658,7 @@

Source:
- src/input/InputHandler.js line 430 + src/input/InputHandler.js line 430 @@ -3623,7 +3687,7 @@

-

+

disableDrag()

@@ -3679,7 +3743,7 @@

Source:
- src/input/InputHandler.js line 1442 + src/input/InputHandler.js line 1442 @@ -3708,7 +3772,7 @@

-

+

disableSnap()

@@ -3763,7 +3827,7 @@

Source:
- src/input/InputHandler.js line 1666 + src/input/InputHandler.js line 1666 @@ -3792,7 +3856,7 @@

-

+

downDuration( [pointerId])

@@ -3917,7 +3981,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1364 + src/input/InputHandler.js line 1364 @@ -3970,7 +4034,7 @@
Returns:
-

+

enableDrag( [lockCenter] [, bringToTop] [, pixelPerfect] [, alphaThreshold] [, boundsRect] [, boundsSprite])

@@ -4305,7 +4369,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1384 + src/input/InputHandler.js line 1384 @@ -4334,7 +4398,7 @@
Parameters:
-

+

enableSnap(snapX, snapY [, onDrag] [, onRelease] [, snapOffsetX] [, snapOffsetY])

@@ -4652,7 +4716,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1638 + src/input/InputHandler.js line 1638 @@ -4681,7 +4745,7 @@
Parameters:
-

+

globalToLocal(globalCoord)

@@ -4786,7 +4850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1564 + src/input/InputHandler.js line 1564 @@ -4839,7 +4903,7 @@
Returns:
-

+

globalToLocalX(x)

@@ -4944,7 +5008,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1528 + src/input/InputHandler.js line 1528 @@ -4973,7 +5037,7 @@
Parameters:
-

+

globalToLocalY(y)

@@ -5078,7 +5142,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1546 + src/input/InputHandler.js line 1546 @@ -5107,7 +5171,7 @@
Parameters:
-

+

isPixelPerfect()

@@ -5162,7 +5226,7 @@

Source:
- src/input/InputHandler.js line 495 + src/input/InputHandler.js line 495 @@ -5215,7 +5279,7 @@
Returns:
-

+

justOut( [pointerId], delay)

@@ -5376,7 +5440,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1293 + src/input/InputHandler.js line 1293 @@ -5425,7 +5489,7 @@
Returns:
-

+

justOver( [pointerId], delay)

@@ -5586,7 +5650,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1276 + src/input/InputHandler.js line 1276 @@ -5635,7 +5699,7 @@
Returns:
-

+

justPressed( [pointerId], delay)

@@ -5796,7 +5860,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1310 + src/input/InputHandler.js line 1310 @@ -5845,7 +5909,7 @@
Returns:
-

+

justReleased( [pointerId], delay)

@@ -6006,7 +6070,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1327 + src/input/InputHandler.js line 1327 @@ -6055,7 +6119,7 @@
Returns:
-

+

overDuration( [pointerId])

@@ -6180,7 +6244,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1344 + src/input/InputHandler.js line 1344 @@ -6233,7 +6297,7 @@
Returns:
-

+

pointerDown( [pointerId])

@@ -6359,7 +6423,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 539 + src/input/InputHandler.js line 539 @@ -6414,7 +6478,7 @@
Returns:
-

+

pointerDragged( [pointerId])

@@ -6539,7 +6603,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 695 + src/input/InputHandler.js line 695 @@ -6592,7 +6656,7 @@
Returns:
-

+

pointerOut( [pointerId])

@@ -6717,7 +6781,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 634 + src/input/InputHandler.js line 634 @@ -6770,7 +6834,7 @@
Returns:
-

+

pointerOver( [pointerId])

@@ -6895,7 +6959,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 601 + src/input/InputHandler.js line 601 @@ -6950,7 +7014,7 @@
Returns:
-

+

pointerTimeDown( [pointerId])

@@ -7075,7 +7139,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 571 + src/input/InputHandler.js line 571 @@ -7124,7 +7188,7 @@
Returns:
-

+

pointerTimeOut( [pointerId])

@@ -7249,7 +7313,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 680 + src/input/InputHandler.js line 680 @@ -7298,7 +7362,7 @@
Returns:
-

+

pointerTimeOver( [pointerId])

@@ -7423,7 +7487,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 665 + src/input/InputHandler.js line 665 @@ -7472,7 +7536,7 @@
Returns:
-

+

pointerTimeUp( [pointerId])

@@ -7597,7 +7661,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 586 + src/input/InputHandler.js line 586 @@ -7646,7 +7710,7 @@
Returns:
-

+

pointerUp( [pointerId])

@@ -7772,7 +7836,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 555 + src/input/InputHandler.js line 555 @@ -7827,7 +7891,7 @@
Returns:
-

+

pointerX( [pointerId])

@@ -7953,7 +8017,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 507 + src/input/InputHandler.js line 507 @@ -8006,7 +8070,7 @@
Returns:
-

+

pointerY( [pointerId])

@@ -8132,7 +8196,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 523 + src/input/InputHandler.js line 523 @@ -8185,7 +8249,7 @@
Returns:
-

+

reset()

@@ -8240,7 +8304,7 @@

Source:
- src/input/InputHandler.js line 382 + src/input/InputHandler.js line 382 @@ -8269,7 +8333,7 @@

-

+

setDragLock( [allowHorizontal] [, allowVertical])

@@ -8434,7 +8498,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1621 + src/input/InputHandler.js line 1621 @@ -8463,7 +8527,7 @@
Parameters:
-

+

start( [priority] [, useHandCursor])

@@ -8628,7 +8692,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 284 + src/input/InputHandler.js line 284 @@ -8681,7 +8745,7 @@
Returns:
-

+

startDrag(pointer)

@@ -8786,7 +8850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1465 + src/input/InputHandler.js line 1465 @@ -8815,7 +8879,7 @@
Parameters:
-

+

stop()

@@ -8870,7 +8934,7 @@

Source:
- src/input/InputHandler.js line 410 + src/input/InputHandler.js line 410 @@ -8899,7 +8963,7 @@

-

+

stopDrag(pointer)

@@ -9004,7 +9068,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1584 + src/input/InputHandler.js line 1584 @@ -9033,7 +9097,7 @@
Parameters:
-

+

<protected> update(pointer)

@@ -9139,7 +9203,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 868 + src/input/InputHandler.js line 868 @@ -9192,7 +9256,7 @@
Returns:
-

+

<protected> validForInput(highestID, highestRenderID [, includePixelPerfect])

@@ -9390,7 +9454,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 456 + src/input/InputHandler.js line 456 @@ -9457,9 +9521,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -9476,9 +9540,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -9490,7 +9554,7 @@
Returns:
- +
@@ -9505,7 +9569,7 @@
Returns:
- + diff --git a/docs/Phaser.Key.html b/docs/Phaser.Key.html index 487586664..91527a416 100644 --- a/docs/Phaser.Key.html +++ b/docs/Phaser.Key.html @@ -6,7 +6,7 @@ Phaser CE Class: Key - + @@ -125,7 +125,7 @@

-

+

new Key(game, keycode)

@@ -254,7 +254,7 @@
Parameters:
Source:
- src/input/Key.js line 15 + src/input/Key.js line 15 @@ -298,9 +298,11 @@

Members

-
-

altKey :boolean

- +
+

+ altKey : boolean + +

@@ -357,7 +359,7 @@
Type:
Source:
- src/input/Key.js line 51 + src/input/Key.js line 51 @@ -373,9 +375,11 @@
Type:
-
-

ctrlKey :boolean

- +
+

+ ctrlKey : boolean + +

@@ -432,7 +436,7 @@
Type:
Source:
- src/input/Key.js line 57 + src/input/Key.js line 57 @@ -448,9 +452,11 @@
Type:
-
-

duration :number

- +
+

+ duration : number + +

@@ -508,7 +514,7 @@
Type:
Source:
- src/input/Key.js line 76 + src/input/Key.js line 76 @@ -524,9 +530,11 @@
Type:
-
-

durationUp

- +
+

+ durationUp + +

@@ -626,7 +634,7 @@
Properties:
Source:
- src/input/Key.js line 90 + src/input/Key.js line 90 @@ -642,9 +650,11 @@
Properties:
-
-

enabled :boolean

- +
+

+ enabled : boolean + +

@@ -709,7 +719,7 @@
Type:
Source:
- src/input/Key.js line 374 + src/input/Key.js line 374 @@ -725,9 +735,11 @@
Type:
-
-

<readonly> event :object

- +
+

+ <readonly> event : object + +

@@ -784,7 +796,7 @@
Type:
Source:
- src/input/Key.js line 33 + src/input/Key.js line 33 @@ -800,9 +812,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -859,7 +873,7 @@
Type:
Source:
- src/input/Key.js line 20 + src/input/Key.js line 20 @@ -875,9 +889,11 @@
Type:
-
-

isDown :boolean

- +
+

+ isDown : boolean + +

@@ -934,7 +950,7 @@
Type:
Source:
- src/input/Key.js line 39 + src/input/Key.js line 39 @@ -950,9 +966,11 @@
Type:
-
-

isUp :boolean

- +
+

+ isUp : boolean + +

@@ -1016,7 +1034,7 @@
Type:
Source:
- src/input/Key.js line 45 + src/input/Key.js line 45 @@ -1032,9 +1050,11 @@
Type:
-
-

justDown :boolean

- +
+

+ justDown : boolean + +

@@ -1101,7 +1121,7 @@
Type:
Source:
- src/input/Key.js line 328 + src/input/Key.js line 328 @@ -1117,9 +1137,11 @@
Type:
-
-

justUp :boolean

- +
+

+ justUp : boolean + +

@@ -1186,7 +1208,7 @@
Type:
Source:
- src/input/Key.js line 351 + src/input/Key.js line 351 @@ -1202,9 +1224,11 @@
Type:
-
-

keyCode :number

- +
+

+ keyCode : number + +

@@ -1261,7 +1285,7 @@
Type:
Source:
- src/input/Key.js line 101 + src/input/Key.js line 101 @@ -1277,9 +1301,11 @@
Type:
-
-

onDown :Phaser.Signal

- +
+

+ onDown : Phaser.Signal + +

@@ -1336,7 +1362,7 @@
Type:
Source:
- src/input/Key.js line 106 + src/input/Key.js line 106 @@ -1352,9 +1378,11 @@
Type:
-
-

onHoldCallback :function

- +
+

+ onHoldCallback : function + +

@@ -1411,7 +1439,7 @@
Type:
Source:
- src/input/Key.js line 111 + src/input/Key.js line 111 @@ -1427,9 +1455,11 @@
Type:
-
-

onHoldContext :object

- +
+

+ onHoldContext : object + +

@@ -1486,7 +1516,7 @@
Type:
Source:
- src/input/Key.js line 116 + src/input/Key.js line 116 @@ -1502,9 +1532,11 @@
Type:
-
-

onUp :Phaser.Signal

- +
+

+ onUp : Phaser.Signal + +

@@ -1561,7 +1593,7 @@
Type:
Source:
- src/input/Key.js line 121 + src/input/Key.js line 121 @@ -1577,9 +1609,11 @@
Type:
-
-

repeats :number

- +
+

+ repeats : number + +

@@ -1636,7 +1670,7 @@
Type:
Source:
- src/input/Key.js line 96 + src/input/Key.js line 96 @@ -1652,9 +1686,11 @@
Type:
-
-

shiftKey :boolean

- +
+

+ shiftKey : boolean + +

@@ -1711,7 +1747,7 @@
Type:
Source:
- src/input/Key.js line 63 + src/input/Key.js line 63 @@ -1727,9 +1763,11 @@
Type:
-
-

timeDown :number

- +
+

+ timeDown : number + +

@@ -1786,7 +1824,7 @@
Type:
Source:
- src/input/Key.js line 68 + src/input/Key.js line 68 @@ -1802,9 +1840,11 @@
Type:
-
-

timeUp :number

- +
+

+ timeUp : number + +

@@ -1861,7 +1901,7 @@
Type:
Source:
- src/input/Key.js line 82 + src/input/Key.js line 82 @@ -1884,7 +1924,7 @@

Methods

-

+

downDuration( [duration])

@@ -2010,7 +2050,7 @@
Parameters:
Source:
- src/input/Key.js line 268 + src/input/Key.js line 268 @@ -2063,7 +2103,7 @@
Returns:
-

+

justPressed()

@@ -2119,7 +2159,7 @@

Source:
- src/input/Key.js line 300 + src/input/Key.js line 300 @@ -2172,7 +2212,7 @@
Returns:
-

+

justReleased()

@@ -2228,7 +2268,7 @@

Source:
- src/input/Key.js line 313 + src/input/Key.js line 313 @@ -2281,7 +2321,7 @@
Returns:
-

+

<protected> processKeyDown(event)

@@ -2386,7 +2426,7 @@
Parameters:
Source:
- src/input/Key.js line 166 + src/input/Key.js line 166 @@ -2415,7 +2455,7 @@
Parameters:
-

+

<protected> processKeyUp(event)

@@ -2520,7 +2560,7 @@
Parameters:
Source:
- src/input/Key.js line 204 + src/input/Key.js line 204 @@ -2549,7 +2589,7 @@
Parameters:
-

+

reset( [hard])

@@ -2676,7 +2716,7 @@
Parameters:
Source:
- src/input/Key.js line 236 + src/input/Key.js line 236 @@ -2705,7 +2745,7 @@
Parameters:
-

+

<protected> update()

@@ -2760,7 +2800,7 @@

Source:
- src/input/Key.js line 139 + src/input/Key.js line 139 @@ -2789,7 +2829,7 @@

-

+

upDuration( [duration])

@@ -2915,7 +2955,7 @@
Parameters:
Source:
- src/input/Key.js line 284 + src/input/Key.js line 284 @@ -2982,9 +3022,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -3001,9 +3041,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3015,7 +3055,7 @@
Returns:
- +
@@ -3030,7 +3070,7 @@
Returns:
- + diff --git a/docs/Phaser.KeyCode.html b/docs/Phaser.KeyCode.html index ae8053d56..cb770b72d 100644 --- a/docs/Phaser.KeyCode.html +++ b/docs/Phaser.KeyCode.html @@ -6,7 +6,7 @@ Phaser CE Class: KeyCode - + @@ -125,7 +125,7 @@

-

+

new KeyCode()

@@ -187,7 +187,7 @@

Source:
- src/input/Keyboard.js line 639 + src/input/Keyboard.js line 639 @@ -231,9 +231,11 @@

Members

-
-

<static> A

- +
+

+ <static> A + +

@@ -275,7 +277,7 @@

<static> ASource:

- src/input/Keyboard.js line 641 + src/input/Keyboard.js line 641 @@ -291,9 +293,11 @@

<static> A -

<static> ALT

- +
+

+ <static> ALT + +

@@ -335,7 +339,7 @@

<static> ALTSource:

- src/input/Keyboard.js line 809 + src/input/Keyboard.js line 809 @@ -351,9 +355,11 @@

<static> ALT -

<static> B

- +
+

+ <static> B + +

@@ -395,7 +401,7 @@

<static> BSource:

- src/input/Keyboard.js line 643 + src/input/Keyboard.js line 643 @@ -411,9 +417,11 @@

<static> B -

<static> BACKSPACE

- +
+

+ <static> BACKSPACE + +

@@ -455,7 +463,7 @@

<static> BACKSPACESource:

- src/input/Keyboard.js line 797 + src/input/Keyboard.js line 797 @@ -471,9 +479,11 @@

<static> BACKSPACE -

<static> BACKWARD_SLASH

- +
+

+ <static> BACKWARD_SLASH + +

@@ -515,7 +525,7 @@

<static> BACKWAR
Source:
- src/input/Keyboard.js line 791 + src/input/Keyboard.js line 791 @@ -531,9 +541,11 @@

<static> BACKWAR -
-

<static> C

- +
+

+ <static> C + +

@@ -575,7 +587,7 @@

<static> CSource:

- src/input/Keyboard.js line 645 + src/input/Keyboard.js line 645 @@ -591,9 +603,11 @@

<static> C -

<static> CAPS_LOCK

- +
+

+ <static> CAPS_LOCK + +

@@ -635,7 +649,7 @@

<static> CAPS_LOCKSource:

- src/input/Keyboard.js line 811 + src/input/Keyboard.js line 811 @@ -651,9 +665,11 @@

<static> CAPS_LOCK -

<static> CLEAR

- +
+

+ <static> CLEAR + +

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

<static> CLEARSource:

- src/input/Keyboard.js line 801 + src/input/Keyboard.js line 801 @@ -711,9 +727,11 @@

<static> CLEAR -

<static> CLOSED_BRACKET

- +
+

+ <static> CLOSED_BRACKET + +

@@ -755,7 +773,7 @@

<static> CLOSED_
Source:
- src/input/Keyboard.js line 793 + src/input/Keyboard.js line 793 @@ -771,9 +789,11 @@

<static> CLOSED_ -
-

<static> COLON

- +
+

+ <static> COLON + +

@@ -815,7 +835,7 @@

<static> COLONSource:

- src/input/Keyboard.js line 775 + src/input/Keyboard.js line 775 @@ -831,9 +851,11 @@

<static> COLON -

<static> COMMA

- +
+

+ <static> COMMA + +

@@ -875,7 +897,7 @@

<static> COMMASource:

- src/input/Keyboard.js line 779 + src/input/Keyboard.js line 779 @@ -891,9 +913,11 @@

<static> COMMA -

<static> CONTROL

- +
+

+ <static> CONTROL + +

@@ -935,7 +959,7 @@

<static> CONTROLSource:

- src/input/Keyboard.js line 807 + src/input/Keyboard.js line 807 @@ -951,9 +975,11 @@

<static> CONTROL -

<static> D

- +
+

+ <static> D + +

@@ -995,7 +1021,7 @@

<static> DSource:

- src/input/Keyboard.js line 647 + src/input/Keyboard.js line 647 @@ -1011,9 +1037,11 @@

<static> D -

<static> DELETE

- +
+

+ <static> DELETE + +

@@ -1055,7 +1083,7 @@

<static> DELETESource:

- src/input/Keyboard.js line 839 + src/input/Keyboard.js line 839 @@ -1071,9 +1099,11 @@

<static> DELETE -

<static> DOWN

- +
+

+ <static> DOWN + +

@@ -1115,7 +1145,7 @@

<static> DOWNSource:

- src/input/Keyboard.js line 831 + src/input/Keyboard.js line 831 @@ -1131,9 +1161,11 @@

<static> DOWN -

<static> E

- +
+

+ <static> E + +

@@ -1175,7 +1207,7 @@

<static> ESource:

- src/input/Keyboard.js line 649 + src/input/Keyboard.js line 649 @@ -1191,9 +1223,11 @@

<static> E -

<static> EIGHT

- +
+

+ <static> EIGHT + +

@@ -1235,7 +1269,7 @@

<static> EIGHTSource:

- src/input/Keyboard.js line 709 + src/input/Keyboard.js line 709 @@ -1251,9 +1285,11 @@

<static> EIGHT -

<static> END

- +
+

+ <static> END + +

@@ -1295,7 +1331,7 @@

<static> ENDSource:

- src/input/Keyboard.js line 821 + src/input/Keyboard.js line 821 @@ -1311,9 +1347,11 @@

<static> END -

<static> ENTER

- +
+

+ <static> ENTER + +

@@ -1355,7 +1393,7 @@

<static> ENTERSource:

- src/input/Keyboard.js line 803 + src/input/Keyboard.js line 803 @@ -1371,9 +1409,11 @@

<static> ENTER -

<static> EQUALS

- +
+

+ <static> EQUALS + +

@@ -1415,7 +1455,7 @@

<static> EQUALSSource:

- src/input/Keyboard.js line 777 + src/input/Keyboard.js line 777 @@ -1431,9 +1471,11 @@

<static> EQUALS -

<static> ESC

- +
+

+ <static> ESC + +

@@ -1475,7 +1517,7 @@

<static> ESCSource:

- src/input/Keyboard.js line 813 + src/input/Keyboard.js line 813 @@ -1491,9 +1533,11 @@

<static> ESC -

<static> F

- +
+

+ <static> F + +

@@ -1535,7 +1579,7 @@

<static> FSource:

- src/input/Keyboard.js line 651 + src/input/Keyboard.js line 651 @@ -1551,9 +1595,11 @@

<static> F -

<static> F1

- +
+

+ <static> F1 + +

@@ -1595,7 +1641,7 @@

<static> F1Source:

- src/input/Keyboard.js line 745 + src/input/Keyboard.js line 745 @@ -1611,9 +1657,11 @@

<static> F1 -

<static> F2

- +
+

+ <static> F2 + +

@@ -1655,7 +1703,7 @@

<static> F2Source:

- src/input/Keyboard.js line 747 + src/input/Keyboard.js line 747 @@ -1671,9 +1719,11 @@

<static> F2 -

<static> F3

- +
+

+ <static> F3 + +

@@ -1715,7 +1765,7 @@

<static> F3Source:

- src/input/Keyboard.js line 749 + src/input/Keyboard.js line 749 @@ -1731,9 +1781,11 @@

<static> F3 -

<static> F4

- +
+

+ <static> F4 + +

@@ -1775,7 +1827,7 @@

<static> F4Source:

- src/input/Keyboard.js line 751 + src/input/Keyboard.js line 751 @@ -1791,9 +1843,11 @@

<static> F4 -

<static> F5

- +
+

+ <static> F5 + +

@@ -1835,7 +1889,7 @@

<static> F5Source:

- src/input/Keyboard.js line 753 + src/input/Keyboard.js line 753 @@ -1851,9 +1905,11 @@

<static> F5 -

<static> F6

- +
+

+ <static> F6 + +

@@ -1895,7 +1951,7 @@

<static> F6Source:

- src/input/Keyboard.js line 755 + src/input/Keyboard.js line 755 @@ -1911,9 +1967,11 @@

<static> F6 -

<static> F7

- +
+

+ <static> F7 + +

@@ -1955,7 +2013,7 @@

<static> F7Source:

- src/input/Keyboard.js line 757 + src/input/Keyboard.js line 757 @@ -1971,9 +2029,11 @@

<static> F7 -

<static> F8

- +
+

+ <static> F8 + +

@@ -2015,7 +2075,7 @@

<static> F8Source:

- src/input/Keyboard.js line 759 + src/input/Keyboard.js line 759 @@ -2031,9 +2091,11 @@

<static> F8 -

<static> F9

- +
+

+ <static> F9 + +

@@ -2075,7 +2137,7 @@

<static> F9Source:

- src/input/Keyboard.js line 761 + src/input/Keyboard.js line 761 @@ -2091,9 +2153,11 @@

<static> F9 -

<static> F10

- +
+

+ <static> F10 + +

@@ -2135,7 +2199,7 @@

<static> F10Source:

- src/input/Keyboard.js line 763 + src/input/Keyboard.js line 763 @@ -2151,9 +2215,11 @@

<static> F10 -

<static> F11

- +
+

+ <static> F11 + +

@@ -2195,7 +2261,7 @@

<static> F11Source:

- src/input/Keyboard.js line 765 + src/input/Keyboard.js line 765 @@ -2211,9 +2277,11 @@

<static> F11 -

<static> F12

- +
+

+ <static> F12 + +

@@ -2255,7 +2323,7 @@

<static> F12Source:

- src/input/Keyboard.js line 767 + src/input/Keyboard.js line 767 @@ -2271,9 +2339,11 @@

<static> F12 -

<static> F13

- +
+

+ <static> F13 + +

@@ -2315,7 +2385,7 @@

<static> F13Source:

- src/input/Keyboard.js line 769 + src/input/Keyboard.js line 769 @@ -2331,9 +2401,11 @@

<static> F13 -

<static> F14

- +
+

+ <static> F14 + +

@@ -2375,7 +2447,7 @@

<static> F14Source:

- src/input/Keyboard.js line 771 + src/input/Keyboard.js line 771 @@ -2391,9 +2463,11 @@

<static> F14 -

<static> F15

- +
+

+ <static> F15 + +

@@ -2435,7 +2509,7 @@

<static> F15Source:

- src/input/Keyboard.js line 773 + src/input/Keyboard.js line 773 @@ -2451,9 +2525,11 @@

<static> F15 -

<static> FIVE

- +
+

+ <static> FIVE + +

@@ -2495,7 +2571,7 @@

<static> FIVESource:

- src/input/Keyboard.js line 703 + src/input/Keyboard.js line 703 @@ -2511,9 +2587,11 @@

<static> FIVE -

<static> FOUR

- +
+

+ <static> FOUR + +

@@ -2555,7 +2633,7 @@

<static> FOURSource:

- src/input/Keyboard.js line 701 + src/input/Keyboard.js line 701 @@ -2571,9 +2649,11 @@

<static> FOUR -

<static> G

- +
+

+ <static> G + +

@@ -2615,7 +2695,7 @@

<static> GSource:

- src/input/Keyboard.js line 653 + src/input/Keyboard.js line 653 @@ -2631,9 +2711,11 @@

<static> G -

<static> H

- +
+

+ <static> H + +

@@ -2675,7 +2757,7 @@

<static> HSource:

- src/input/Keyboard.js line 655 + src/input/Keyboard.js line 655 @@ -2691,9 +2773,11 @@

<static> H -

<static> HELP

- +
+

+ <static> HELP + +

@@ -2735,7 +2819,7 @@

<static> HELPSource:

- src/input/Keyboard.js line 841 + src/input/Keyboard.js line 841 @@ -2751,9 +2835,11 @@

<static> HELP -

<static> HOME

- +
+

+ <static> HOME + +

@@ -2795,7 +2881,7 @@

<static> HOMESource:

- src/input/Keyboard.js line 823 + src/input/Keyboard.js line 823 @@ -2811,9 +2897,11 @@

<static> HOME -

<static> I

- +
+

+ <static> I + +

@@ -2855,7 +2943,7 @@

<static> ISource:

- src/input/Keyboard.js line 657 + src/input/Keyboard.js line 657 @@ -2871,9 +2959,11 @@

<static> I -

<static> INSERT

- +
+

+ <static> INSERT + +

@@ -2915,7 +3005,7 @@

<static> INSERTSource:

- src/input/Keyboard.js line 837 + src/input/Keyboard.js line 837 @@ -2931,9 +3021,11 @@

<static> INSERT -

<static> J

- +
+

+ <static> J + +

@@ -2975,7 +3067,7 @@

<static> JSource:

- src/input/Keyboard.js line 659 + src/input/Keyboard.js line 659 @@ -2991,9 +3083,11 @@

<static> J -

<static> K

- +
+

+ <static> K + +

@@ -3035,7 +3129,7 @@

<static> KSource:

- src/input/Keyboard.js line 661 + src/input/Keyboard.js line 661 @@ -3051,9 +3145,11 @@

<static> K -

<static> L

- +
+

+ <static> L + +

@@ -3095,7 +3191,7 @@

<static> LSource:

- src/input/Keyboard.js line 663 + src/input/Keyboard.js line 663 @@ -3111,9 +3207,11 @@

<static> L -

<static> LEFT

- +
+

+ <static> LEFT + +

@@ -3155,7 +3253,7 @@

<static> LEFTSource:

- src/input/Keyboard.js line 825 + src/input/Keyboard.js line 825 @@ -3171,9 +3269,11 @@

<static> LEFT -

<static> M

- +
+

+ <static> M + +

@@ -3215,7 +3315,7 @@

<static> MSource:

- src/input/Keyboard.js line 665 + src/input/Keyboard.js line 665 @@ -3231,9 +3331,11 @@

<static> M -

<static> MINUS

- +
+

+ <static> MINUS + +

@@ -3275,7 +3377,7 @@

<static> MINUSSource:

- src/input/Keyboard.js line 835 + src/input/Keyboard.js line 835 @@ -3291,9 +3393,11 @@

<static> MINUS -

<static> N

- +
+

+ <static> N + +

@@ -3335,7 +3439,7 @@

<static> NSource:

- src/input/Keyboard.js line 667 + src/input/Keyboard.js line 667 @@ -3351,9 +3455,11 @@

<static> N -

<static> NINE

- +
+

+ <static> NINE + +

@@ -3395,7 +3501,7 @@

<static> NINESource:

- src/input/Keyboard.js line 711 + src/input/Keyboard.js line 711 @@ -3411,9 +3517,11 @@

<static> NINE -

<static> NUM_LOCK

- +
+

+ <static> NUM_LOCK + +

@@ -3455,7 +3563,7 @@

<static> NUM_LOCKSource:

- src/input/Keyboard.js line 843 + src/input/Keyboard.js line 843 @@ -3471,9 +3579,11 @@

<static> NUM_LOCK -

<static> NUMPAD_0

- +
+

+ <static> NUMPAD_0 + +

@@ -3515,7 +3625,7 @@

<static> NUMPAD_0Source:

- src/input/Keyboard.js line 713 + src/input/Keyboard.js line 713 @@ -3531,9 +3641,11 @@

<static> NUMPAD_0 -

<static> NUMPAD_1

- +
+

+ <static> NUMPAD_1 + +

@@ -3575,7 +3687,7 @@

<static> NUMPAD_1Source:

- src/input/Keyboard.js line 715 + src/input/Keyboard.js line 715 @@ -3591,9 +3703,11 @@

<static> NUMPAD_1 -

<static> NUMPAD_2

- +
+

+ <static> NUMPAD_2 + +

@@ -3635,7 +3749,7 @@

<static> NUMPAD_2Source:

- src/input/Keyboard.js line 717 + src/input/Keyboard.js line 717 @@ -3651,9 +3765,11 @@

<static> NUMPAD_2 -

<static> NUMPAD_3

- +
+

+ <static> NUMPAD_3 + +

@@ -3695,7 +3811,7 @@

<static> NUMPAD_3Source:

- src/input/Keyboard.js line 719 + src/input/Keyboard.js line 719 @@ -3711,9 +3827,11 @@

<static> NUMPAD_3 -

<static> NUMPAD_4

- +
+

+ <static> NUMPAD_4 + +

@@ -3755,7 +3873,7 @@

<static> NUMPAD_4Source:

- src/input/Keyboard.js line 721 + src/input/Keyboard.js line 721 @@ -3771,9 +3889,11 @@

<static> NUMPAD_4 -

<static> NUMPAD_5

- +
+

+ <static> NUMPAD_5 + +

@@ -3815,7 +3935,7 @@

<static> NUMPAD_5Source:

- src/input/Keyboard.js line 723 + src/input/Keyboard.js line 723 @@ -3831,9 +3951,11 @@

<static> NUMPAD_5 -

<static> NUMPAD_6

- +
+

+ <static> NUMPAD_6 + +

@@ -3875,7 +3997,7 @@

<static> NUMPAD_6Source:

- src/input/Keyboard.js line 725 + src/input/Keyboard.js line 725 @@ -3891,9 +4013,11 @@

<static> NUMPAD_6 -

<static> NUMPAD_7

- +
+

+ <static> NUMPAD_7 + +

@@ -3935,7 +4059,7 @@

<static> NUMPAD_7Source:

- src/input/Keyboard.js line 727 + src/input/Keyboard.js line 727 @@ -3951,9 +4075,11 @@

<static> NUMPAD_7 -

<static> NUMPAD_8

- +
+

+ <static> NUMPAD_8 + +

@@ -3995,7 +4121,7 @@

<static> NUMPAD_8Source:

- src/input/Keyboard.js line 729 + src/input/Keyboard.js line 729 @@ -4011,9 +4137,11 @@

<static> NUMPAD_8 -

<static> NUMPAD_9

- +
+

+ <static> NUMPAD_9 + +

@@ -4055,7 +4183,7 @@

<static> NUMPAD_9Source:

- src/input/Keyboard.js line 731 + src/input/Keyboard.js line 731 @@ -4071,9 +4199,11 @@

<static> NUMPAD_9 -

<static> NUMPAD_ADD

- +
+

+ <static> NUMPAD_ADD + +

@@ -4115,7 +4245,7 @@

<static> NUMPAD_ADD<
Source:
- src/input/Keyboard.js line 735 + src/input/Keyboard.js line 735 @@ -4131,9 +4261,11 @@

<static> NUMPAD_ADD< -
-

<static> NUMPAD_DECIMAL

- +
+

+ <static> NUMPAD_DECIMAL + +

@@ -4175,7 +4307,7 @@

<static> NUMPAD_
Source:
- src/input/Keyboard.js line 741 + src/input/Keyboard.js line 741 @@ -4191,9 +4323,11 @@

<static> NUMPAD_ -
-

<static> NUMPAD_DIVIDE

- +
+

+ <static> NUMPAD_DIVIDE + +

@@ -4235,7 +4369,7 @@

<static> NUMPAD_D
Source:
- src/input/Keyboard.js line 743 + src/input/Keyboard.js line 743 @@ -4251,9 +4385,11 @@

<static> NUMPAD_D -
-

<static> NUMPAD_ENTER

- +
+

+ <static> NUMPAD_ENTER + +

@@ -4295,7 +4431,7 @@

<static> NUMPAD_EN
Source:
- src/input/Keyboard.js line 737 + src/input/Keyboard.js line 737 @@ -4311,9 +4447,11 @@

<static> NUMPAD_EN -
-

<static> NUMPAD_MULTIPLY

- +
+

+ <static> NUMPAD_MULTIPLY + +

@@ -4355,7 +4493,7 @@

<static> NUMPAD
Source:
- src/input/Keyboard.js line 733 + src/input/Keyboard.js line 733 @@ -4371,9 +4509,11 @@

<static> NUMPAD -
-

<static> NUMPAD_SUBTRACT

- +
+

+ <static> NUMPAD_SUBTRACT + +

@@ -4415,7 +4555,7 @@

<static> NUMPAD
Source:
- src/input/Keyboard.js line 739 + src/input/Keyboard.js line 739 @@ -4431,9 +4571,11 @@

<static> NUMPAD -
-

<static> O

- +
+

+ <static> O + +

@@ -4475,7 +4617,7 @@

<static> OSource:

- src/input/Keyboard.js line 669 + src/input/Keyboard.js line 669 @@ -4491,9 +4633,11 @@

<static> O -

<static> ONE

- +
+

+ <static> ONE + +

@@ -4535,7 +4679,7 @@

<static> ONESource:

- src/input/Keyboard.js line 695 + src/input/Keyboard.js line 695 @@ -4551,9 +4695,11 @@

<static> ONE -

<static> OPEN_BRACKET

- +
+

+ <static> OPEN_BRACKET + +

@@ -4595,7 +4741,7 @@

<static> OPEN_BRAC
Source:
- src/input/Keyboard.js line 789 + src/input/Keyboard.js line 789 @@ -4611,9 +4757,11 @@

<static> OPEN_BRAC -
-

<static> P

- +
+

+ <static> P + +

@@ -4655,7 +4803,7 @@

<static> PSource:

- src/input/Keyboard.js line 671 + src/input/Keyboard.js line 671 @@ -4671,9 +4819,11 @@

<static> P -

<static> PAGE_DOWN

- +
+

+ <static> PAGE_DOWN + +

@@ -4715,7 +4865,7 @@

<static> PAGE_DOWNSource:

- src/input/Keyboard.js line 819 + src/input/Keyboard.js line 819 @@ -4731,9 +4881,11 @@

<static> PAGE_DOWN -

<static> PAGE_UP

- +
+

+ <static> PAGE_UP + +

@@ -4775,7 +4927,7 @@

<static> PAGE_UPSource:

- src/input/Keyboard.js line 817 + src/input/Keyboard.js line 817 @@ -4791,9 +4943,11 @@

<static> PAGE_UP -

<static> PERIOD

- +
+

+ <static> PERIOD + +

@@ -4835,7 +4989,7 @@

<static> PERIODSource:

- src/input/Keyboard.js line 783 + src/input/Keyboard.js line 783 @@ -4851,9 +5005,11 @@

<static> PERIOD -

<static> PLUS

- +
+

+ <static> PLUS + +

@@ -4895,7 +5051,7 @@

<static> PLUSSource:

- src/input/Keyboard.js line 833 + src/input/Keyboard.js line 833 @@ -4911,9 +5067,11 @@

<static> PLUS -

<static> Q

- +
+

+ <static> Q + +

@@ -4955,7 +5113,7 @@

<static> QSource:

- src/input/Keyboard.js line 673 + src/input/Keyboard.js line 673 @@ -4971,9 +5129,11 @@

<static> Q -

<static> QUESTION_MARK

- +
+

+ <static> QUESTION_MARK + +

@@ -5015,7 +5175,7 @@

<static> QUESTION
Source:
- src/input/Keyboard.js line 785 + src/input/Keyboard.js line 785 @@ -5031,9 +5191,11 @@

<static> QUESTION -
-

<static> QUOTES

- +
+

+ <static> QUOTES + +

@@ -5075,7 +5237,7 @@

<static> QUOTESSource:

- src/input/Keyboard.js line 795 + src/input/Keyboard.js line 795 @@ -5091,9 +5253,11 @@

<static> QUOTES -

<static> R

- +
+

+ <static> R + +

@@ -5135,7 +5299,7 @@

<static> RSource:

- src/input/Keyboard.js line 675 + src/input/Keyboard.js line 675 @@ -5151,9 +5315,11 @@

<static> R -

<static> RIGHT

- +
+

+ <static> RIGHT + +

@@ -5195,7 +5361,7 @@

<static> RIGHTSource:

- src/input/Keyboard.js line 829 + src/input/Keyboard.js line 829 @@ -5211,9 +5377,11 @@

<static> RIGHT -

<static> S

- +
+

+ <static> S + +

@@ -5255,7 +5423,7 @@

<static> SSource:

- src/input/Keyboard.js line 677 + src/input/Keyboard.js line 677 @@ -5271,9 +5439,11 @@

<static> S -

<static> SEVEN

- +
+

+ <static> SEVEN + +

@@ -5315,7 +5485,7 @@

<static> SEVENSource:

- src/input/Keyboard.js line 707 + src/input/Keyboard.js line 707 @@ -5331,9 +5501,11 @@

<static> SEVEN -

<static> SHIFT

- +
+

+ <static> SHIFT + +

@@ -5375,7 +5547,7 @@

<static> SHIFTSource:

- src/input/Keyboard.js line 805 + src/input/Keyboard.js line 805 @@ -5391,9 +5563,11 @@

<static> SHIFT -

<static> SIX

- +
+

+ <static> SIX + +

@@ -5435,7 +5609,7 @@

<static> SIXSource:

- src/input/Keyboard.js line 705 + src/input/Keyboard.js line 705 @@ -5451,9 +5625,11 @@

<static> SIX -

<static> SPACEBAR

- +
+

+ <static> SPACEBAR + +

@@ -5495,7 +5671,7 @@

<static> SPACEBARSource:

- src/input/Keyboard.js line 815 + src/input/Keyboard.js line 815 @@ -5511,9 +5687,11 @@

<static> SPACEBAR -

<static> T

- +
+

+ <static> T + +

@@ -5555,7 +5733,7 @@

<static> TSource:

- src/input/Keyboard.js line 679 + src/input/Keyboard.js line 679 @@ -5571,9 +5749,11 @@

<static> T -

<static> TAB

- +
+

+ <static> TAB + +

@@ -5615,7 +5795,7 @@

<static> TABSource:

- src/input/Keyboard.js line 799 + src/input/Keyboard.js line 799 @@ -5631,9 +5811,11 @@

<static> TAB -

<static> THREE

- +
+

+ <static> THREE + +

@@ -5675,7 +5857,7 @@

<static> THREESource:

- src/input/Keyboard.js line 699 + src/input/Keyboard.js line 699 @@ -5691,9 +5873,11 @@

<static> THREE -

<static> TILDE

- +
+

+ <static> TILDE + +

@@ -5735,7 +5919,7 @@

<static> TILDESource:

- src/input/Keyboard.js line 787 + src/input/Keyboard.js line 787 @@ -5751,9 +5935,11 @@

<static> TILDE -

<static> TWO

- +
+

+ <static> TWO + +

@@ -5795,7 +5981,7 @@

<static> TWOSource:

- src/input/Keyboard.js line 697 + src/input/Keyboard.js line 697 @@ -5811,9 +5997,11 @@

<static> TWO -

<static> U

- +
+

+ <static> U + +

@@ -5855,7 +6043,7 @@

<static> USource:

- src/input/Keyboard.js line 681 + src/input/Keyboard.js line 681 @@ -5871,9 +6059,11 @@

<static> U -

<static> UNDERSCORE

- +
+

+ <static> UNDERSCORE + +

@@ -5915,7 +6105,7 @@

<static> UNDERSCORE<
Source:
- src/input/Keyboard.js line 781 + src/input/Keyboard.js line 781 @@ -5931,9 +6121,11 @@

<static> UNDERSCORE< -
-

<static> UP

- +
+

+ <static> UP + +

@@ -5975,7 +6167,7 @@

<static> UPSource:

- src/input/Keyboard.js line 827 + src/input/Keyboard.js line 827 @@ -5991,9 +6183,11 @@

<static> UP -

<static> V

- +
+

+ <static> V + +

@@ -6035,7 +6229,7 @@

<static> VSource:

- src/input/Keyboard.js line 683 + src/input/Keyboard.js line 683 @@ -6051,9 +6245,11 @@

<static> V -

<static> W

- +
+

+ <static> W + +

@@ -6095,7 +6291,7 @@

<static> WSource:

- src/input/Keyboard.js line 685 + src/input/Keyboard.js line 685 @@ -6111,9 +6307,11 @@

<static> W -

<static> X

- +
+

+ <static> X + +

@@ -6155,7 +6353,7 @@

<static> XSource:

- src/input/Keyboard.js line 687 + src/input/Keyboard.js line 687 @@ -6171,9 +6369,11 @@

<static> X -

<static> Y

- +
+

+ <static> Y + +

@@ -6215,7 +6415,7 @@

<static> YSource:

- src/input/Keyboard.js line 689 + src/input/Keyboard.js line 689 @@ -6231,9 +6431,11 @@

<static> Y -

<static> Z

- +
+

+ <static> Z + +

@@ -6275,7 +6477,7 @@

<static> ZSource:

- src/input/Keyboard.js line 691 + src/input/Keyboard.js line 691 @@ -6291,9 +6493,11 @@

<static> Z -

<static> ZERO

- +
+

+ <static> ZERO + +

@@ -6335,7 +6539,7 @@

<static> ZEROSource:

- src/input/Keyboard.js line 693 + src/input/Keyboard.js line 693 @@ -6368,9 +6572,9 @@

<static> ZERO - phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -6387,9 +6591,9 @@

<static> ZERO Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -6401,7 +6605,7 @@

<static> ZERO
- +
@@ -6416,7 +6620,7 @@

<static> ZERO + diff --git a/docs/Phaser.Keyboard.html b/docs/Phaser.Keyboard.html index 3fb432224..e94fdb6f2 100644 --- a/docs/Phaser.Keyboard.html +++ b/docs/Phaser.Keyboard.html @@ -6,7 +6,7 @@ Phaser CE Class: Keyboard - + @@ -125,7 +125,7 @@

-

+

new Keyboard(game)

@@ -235,7 +235,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 21 + src/input/Keyboard.js line 21 @@ -279,9 +279,11 @@

Members

-
-

callbackContext :object

- +
+

+ callbackContext : object + +

@@ -338,7 +340,7 @@
Type:
Source:
- src/input/Keyboard.js line 48 + src/input/Keyboard.js line 48 @@ -354,9 +356,11 @@
Type:
-
-

enabled :boolean

- +
+

+ enabled : boolean + +

@@ -420,7 +424,7 @@
Type:
Source:
- src/input/Keyboard.js line 33 + src/input/Keyboard.js line 33 @@ -436,9 +440,11 @@
Type:
-
-

event :object

- +
+

+ event : object + +

@@ -495,7 +501,7 @@
Type:
Source:
- src/input/Keyboard.js line 38 + src/input/Keyboard.js line 38 @@ -511,9 +517,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -570,7 +578,7 @@
Type:
Source:
- src/input/Keyboard.js line 26 + src/input/Keyboard.js line 26 @@ -586,9 +594,11 @@
Type:
-
-

<readonly> lastChar :string

- +
+

+ <readonly> lastChar : string + +

@@ -645,7 +655,7 @@
Type:
Source:
- src/input/Keyboard.js line 579 + src/input/Keyboard.js line 579 @@ -661,9 +671,11 @@
Type:
-
-

<readonly> lastKey :Phaser.Key

- +
+

+ <readonly> lastKey : Phaser.Key + +

@@ -720,7 +732,7 @@
Type:
Source:
- src/input/Keyboard.js line 606 + src/input/Keyboard.js line 606 @@ -736,9 +748,11 @@
Type:
-
-

onDownCallback :function

- +
+

+ onDownCallback : function + +

@@ -795,7 +809,7 @@
Type:
Source:
- src/input/Keyboard.js line 53 + src/input/Keyboard.js line 53 @@ -811,9 +825,11 @@
Type:
-
-

onPressCallback :function

- +
+

+ onPressCallback : function + +

@@ -870,7 +886,7 @@
Type:
Source:
- src/input/Keyboard.js line 58 + src/input/Keyboard.js line 58 @@ -886,9 +902,11 @@
Type:
-
-

onUpCallback :function

- +
+

+ onUpCallback : function + +

@@ -945,7 +963,7 @@
Type:
Source:
- src/input/Keyboard.js line 63 + src/input/Keyboard.js line 63 @@ -961,9 +979,11 @@
Type:
-
-

pressEvent :object

- +
+

+ pressEvent : object + +

@@ -1020,7 +1040,7 @@
Type:
Source:
- src/input/Keyboard.js line 43 + src/input/Keyboard.js line 43 @@ -1043,7 +1063,7 @@

Methods

-

+

addCallbacks(context [, onDown] [, onUp] [, onPress])

@@ -1284,7 +1304,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 114 + src/input/Keyboard.js line 114 @@ -1313,7 +1333,7 @@
Parameters:
-

+

addKey(keycode)

@@ -1419,7 +1439,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 144 + src/input/Keyboard.js line 144 @@ -1472,7 +1492,7 @@
Returns:
-

+

addKeyCapture(keycode)

@@ -1587,7 +1607,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 294 + src/input/Keyboard.js line 294 @@ -1616,7 +1636,7 @@
Parameters:
-

+

addKeys(keys)

@@ -1723,7 +1743,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 165 + src/input/Keyboard.js line 165 @@ -1776,7 +1796,7 @@
Returns:
-

+

clearCaptures()

@@ -1831,7 +1851,7 @@

Source:
- src/input/Keyboard.js line 333 + src/input/Keyboard.js line 333 @@ -1860,7 +1880,7 @@

-

+

createCursorKeys()

@@ -1915,7 +1935,7 @@

Source:
- src/input/Keyboard.js line 208 + src/input/Keyboard.js line 208 @@ -1968,7 +1988,7 @@
Returns:
-

+

destroy()

@@ -2024,7 +2044,7 @@

Source:
- src/input/Keyboard.js line 277 + src/input/Keyboard.js line 277 @@ -2053,7 +2073,7 @@

-

+

downDuration(keycode [, duration])

@@ -2215,7 +2235,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 487 + src/input/Keyboard.js line 487 @@ -2268,7 +2288,7 @@
Returns:
-

+

isDown(keycode)

@@ -2373,7 +2393,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 557 + src/input/Keyboard.js line 557 @@ -2426,7 +2446,7 @@
Returns:
-

+

<protected> processKeyDown(event)

@@ -2531,7 +2551,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 363 + src/input/Keyboard.js line 363 @@ -2560,7 +2580,7 @@
Parameters:
-

+

<protected> processKeyPress(event)

@@ -2665,7 +2685,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 403 + src/input/Keyboard.js line 403 @@ -2694,7 +2714,7 @@
Parameters:
-

+

<protected> processKeyUp(event)

@@ -2799,7 +2819,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 426 + src/input/Keyboard.js line 426 @@ -2828,7 +2848,7 @@
Parameters:
-

+

removeKey(keycode)

@@ -2933,7 +2953,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 191 + src/input/Keyboard.js line 191 @@ -2962,7 +2982,7 @@
Parameters:
-

+

removeKeyCapture(keycode)

@@ -3067,7 +3087,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 321 + src/input/Keyboard.js line 321 @@ -3096,7 +3116,7 @@
Parameters:
-

+

reset( [hard])

@@ -3221,7 +3241,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 463 + src/input/Keyboard.js line 463 @@ -3250,7 +3270,7 @@
Parameters:
-

+

<protected> start()

@@ -3306,7 +3326,7 @@

Source:
- src/input/Keyboard.js line 220 + src/input/Keyboard.js line 220 @@ -3335,7 +3355,7 @@

-

+

stop()

@@ -3390,7 +3410,7 @@

Source:
- src/input/Keyboard.js line 260 + src/input/Keyboard.js line 260 @@ -3419,7 +3439,7 @@

-

+

update()

@@ -3474,7 +3494,7 @@

Source:
- src/input/Keyboard.js line 344 + src/input/Keyboard.js line 344 @@ -3503,7 +3523,7 @@

-

+

upDuration(keycode [, duration])

@@ -3668,7 +3688,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 509 + src/input/Keyboard.js line 509 @@ -3735,9 +3755,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -3754,9 +3774,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3768,7 +3788,7 @@
Returns:
- +
@@ -3783,7 +3803,7 @@
Returns:
- + diff --git a/docs/Phaser.Line.html b/docs/Phaser.Line.html index 368a1b008..1e0da48c9 100644 --- a/docs/Phaser.Line.html +++ b/docs/Phaser.Line.html @@ -6,7 +6,7 @@ Phaser CE Class: Line - + @@ -125,7 +125,7 @@

-

+

new Line( [x1] [, y1] [, x2] [, y2])

@@ -370,7 +370,7 @@
Parameters:
Source:
- src/geom/Line.js line 17 + src/geom/Line.js line 17 @@ -414,9 +414,11 @@

Members

-
-

<readonly> angle :number

- +
+

+ <readonly> angle : number + +

@@ -473,7 +475,7 @@
Type:
Source:
- src/geom/Line.js line 374 + src/geom/Line.js line 374 @@ -489,9 +491,11 @@
Type:
-
-

<readonly> bottom :number

- +
+

+ <readonly> bottom : number + +

@@ -548,7 +552,7 @@
Type:
Source:
- src/geom/Line.js line 478 + src/geom/Line.js line 478 @@ -564,9 +568,11 @@
Type:
-
-

end :Phaser.Point

- +
+

+ end : Phaser.Point + +

@@ -623,7 +629,7 @@
Type:
Source:
- src/geom/Line.js line 32 + src/geom/Line.js line 32 @@ -639,9 +645,11 @@
Type:
-
-

<readonly> height :number

- +
+

+ <readonly> height : number + +

@@ -698,7 +706,7 @@
Type:
Source:
- src/geom/Line.js line 504 + src/geom/Line.js line 504 @@ -714,9 +722,11 @@
Type:
-
-

<readonly> left :number

- +
+

+ <readonly> left : number + +

@@ -773,7 +783,7 @@
Type:
Source:
- src/geom/Line.js line 439 + src/geom/Line.js line 439 @@ -789,9 +799,11 @@
Type:
-
-

<readonly> length :number

- +
+

+ <readonly> length : number + +

@@ -848,7 +860,7 @@
Type:
Source:
- src/geom/Line.js line 361 + src/geom/Line.js line 361 @@ -864,9 +876,11 @@
Type:
-
-

<readonly> normalAngle :number

- +
+

+ <readonly> normalAngle : number + +

@@ -923,7 +937,7 @@
Type:
Source:
- src/geom/Line.js line 543 + src/geom/Line.js line 543 @@ -939,9 +953,11 @@
Type:
-
-

<readonly> normalX :number

- +
+

+ <readonly> normalX : number + +

@@ -998,7 +1014,7 @@
Type:
Source:
- src/geom/Line.js line 517 + src/geom/Line.js line 517 @@ -1014,9 +1030,11 @@
Type:
-
-

<readonly> normalY :number

- +
+

+ <readonly> normalY : number + +

@@ -1073,7 +1091,7 @@
Type:
Source:
- src/geom/Line.js line 530 + src/geom/Line.js line 530 @@ -1089,9 +1107,11 @@
Type:
-
-

<readonly> perpSlope :number

- +
+

+ <readonly> perpSlope : number + +

@@ -1148,7 +1168,7 @@
Type:
Source:
- src/geom/Line.js line 400 + src/geom/Line.js line 400 @@ -1164,9 +1184,11 @@
Type:
-
+
@@ -1223,7 +1245,7 @@
Type:
Source:
- src/geom/Line.js line 452 + src/geom/Line.js line 452 @@ -1239,9 +1261,11 @@
Type:
-
-

<readonly> slope :number

- +
+

+ <readonly> slope : number + +

@@ -1298,7 +1322,7 @@
Type:
Source:
- src/geom/Line.js line 387 + src/geom/Line.js line 387 @@ -1314,9 +1338,11 @@
Type:
-
-

start :Phaser.Point

- +
+

+ start : Phaser.Point + +

@@ -1373,7 +1399,7 @@
Type:
Source:
- src/geom/Line.js line 27 + src/geom/Line.js line 27 @@ -1389,9 +1415,11 @@
Type:
-
-

<readonly> top :number

- +
+

+ <readonly> top : number + +

@@ -1448,7 +1476,7 @@
Type:
Source:
- src/geom/Line.js line 465 + src/geom/Line.js line 465 @@ -1464,9 +1492,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -1523,7 +1553,7 @@
Type:
Source:
- src/geom/Line.js line 38 + src/geom/Line.js line 38 @@ -1539,9 +1569,11 @@
Type:
-
-

<readonly> width :number

- +
+

+ <readonly> width : number + +

@@ -1598,7 +1630,7 @@
Type:
Source:
- src/geom/Line.js line 491 + src/geom/Line.js line 491 @@ -1614,9 +1646,11 @@
Type:
-
-

<readonly> x :number

- +
+

+ <readonly> x : number + +

@@ -1673,7 +1707,7 @@
Type:
Source:
- src/geom/Line.js line 413 + src/geom/Line.js line 413 @@ -1689,9 +1723,11 @@
Type:
-
-

<readonly> y :number

- +
+

+ <readonly> y : number + +

@@ -1748,7 +1784,7 @@
Type:
Source:
- src/geom/Line.js line 426 + src/geom/Line.js line 426 @@ -1771,7 +1807,7 @@

Methods

-

+

<static> intersects(a, b [, asSegment] [, result])

@@ -2010,7 +2046,7 @@
Parameters:
Source:
- src/geom/Line.js line 612 + src/geom/Line.js line 612 @@ -2063,7 +2099,7 @@
Returns:
-

+

<static> intersectsPoints(a, b, e, f [, asSegment] [, result])

@@ -2376,7 +2412,7 @@
Parameters:
Source:
- src/geom/Line.js line 556 + src/geom/Line.js line 556 @@ -2429,7 +2465,7 @@
Returns:
-

+

<static> intersectsRectangle(line, rect)

@@ -2568,7 +2604,7 @@
Parameters:
Source:
- src/geom/Line.js line 632 + src/geom/Line.js line 632 @@ -2621,7 +2657,7 @@
Returns:
-

+

<static> reflect(a, b)

@@ -2751,7 +2787,7 @@
Parameters:
Source:
- src/geom/Line.js line 726 + src/geom/Line.js line 726 @@ -2804,7 +2840,7 @@
Returns:
-

+

centerOn(x, y)

@@ -2935,7 +2971,7 @@
Parameters:
Source:
- src/geom/Line.js line 200 + src/geom/Line.js line 200 @@ -2988,7 +3024,7 @@
Returns:
-

+

clone(output)

@@ -3093,7 +3129,7 @@
Parameters:
Source:
- src/geom/Line.js line 338 + src/geom/Line.js line 338 @@ -3146,7 +3182,7 @@
Returns:
-

+

coordinatesOnLine( [stepRate] [, results])

@@ -3310,7 +3346,7 @@
Parameters:
Source:
- src/geom/Line.js line 280 + src/geom/Line.js line 280 @@ -3363,7 +3399,7 @@
Returns:
-

+

fromAngle(x, y, angle, length)

@@ -3540,7 +3576,7 @@
Parameters:
Source:
- src/geom/Line.js line 86 + src/geom/Line.js line 86 @@ -3593,7 +3629,7 @@
Returns:
-

+

fromSprite(startSprite, endSprite [, useCenter])

@@ -3791,7 +3827,7 @@
Parameters:
Source:
- src/geom/Line.js line 63 + src/geom/Line.js line 63 @@ -3844,7 +3880,7 @@
Returns:
-

+

intersects(line [, asSegment] [, result])

@@ -4045,7 +4081,7 @@
Parameters:
Source:
- src/geom/Line.js line 151 + src/geom/Line.js line 151 @@ -4098,7 +4134,7 @@
Returns:
-

+

midPoint( [out])

@@ -4215,7 +4251,7 @@
Parameters:
Source:
- src/geom/Line.js line 182 + src/geom/Line.js line 182 @@ -4268,7 +4304,7 @@
Returns:
-

+

pointOnLine(x, y [, epsilon])

@@ -4465,7 +4501,7 @@
Parameters:
Source:
- src/geom/Line.js line 224 + src/geom/Line.js line 224 @@ -4518,7 +4554,7 @@
Returns:
-

+

pointOnSegment(x, y [, epsilon])

@@ -4715,7 +4751,7 @@
Parameters:
Source:
- src/geom/Line.js line 239 + src/geom/Line.js line 239 @@ -4768,7 +4804,7 @@
Returns:
-

+

random( [out])

@@ -4889,7 +4925,7 @@
Parameters:
Source:
- src/geom/Line.js line 259 + src/geom/Line.js line 259 @@ -4942,7 +4978,7 @@
Returns:
-

+

reflect(line)

@@ -5048,7 +5084,7 @@
Parameters:
Source:
- src/geom/Line.js line 168 + src/geom/Line.js line 168 @@ -5101,7 +5137,7 @@
Returns:
-

+

rotate(angle [, asDegrees])

@@ -5265,7 +5301,7 @@
Parameters:
Source:
- src/geom/Line.js line 105 + src/geom/Line.js line 105 @@ -5318,7 +5354,7 @@
Returns:
-

+

rotateAround(x, y, angle [, asDegrees])

@@ -5552,7 +5588,7 @@
Parameters:
Source:
- src/geom/Line.js line 130 + src/geom/Line.js line 130 @@ -5605,7 +5641,7 @@
Returns:
-

+

setTo( [x1] [, y1] [, x2] [, y2])

@@ -5850,7 +5886,7 @@
Parameters:
Source:
- src/geom/Line.js line 44 + src/geom/Line.js line 44 @@ -5917,9 +5953,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -5936,9 +5972,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -5950,7 +5986,7 @@
Returns:
- +
@@ -5965,7 +6001,7 @@
Returns:
- + diff --git a/docs/Phaser.LinkedList.html b/docs/Phaser.LinkedList.html index 748bba7e0..436b5c764 100644 --- a/docs/Phaser.LinkedList.html +++ b/docs/Phaser.LinkedList.html @@ -6,7 +6,7 @@ Phaser CE Class: LinkedList - + @@ -125,7 +125,7 @@

-

+

new LinkedList()

@@ -186,7 +186,7 @@

Source:
- src/utils/LinkedList.js line 18 + src/utils/LinkedList.js line 18 @@ -230,9 +230,11 @@

Members

-
-

first :object

- +
+

+ first : object + +

@@ -289,7 +291,7 @@
Type:
Source:
- src/utils/LinkedList.js line 39 + src/utils/LinkedList.js line 39 @@ -305,9 +307,11 @@
Type:
-
-

last :object

- +
+

+ last : object + +

@@ -364,7 +368,7 @@
Type:
Source:
- src/utils/LinkedList.js line 46 + src/utils/LinkedList.js line 46 @@ -380,9 +384,11 @@
Type:
-
-

next :object

- +
+

+ next : object + +

@@ -439,7 +445,7 @@
Type:
Source:
- src/utils/LinkedList.js line 25 + src/utils/LinkedList.js line 25 @@ -455,9 +461,11 @@
Type:
-
-

prev :object

- +
+

+ prev : object + +

@@ -514,7 +522,7 @@
Type:
Source:
- src/utils/LinkedList.js line 32 + src/utils/LinkedList.js line 32 @@ -530,9 +538,11 @@
Type:
-
-

total :integer

- +
+

+ total : integer + +

@@ -589,7 +599,7 @@
Type:
Source:
- src/utils/LinkedList.js line 53 + src/utils/LinkedList.js line 53 @@ -612,7 +622,7 @@

Methods

-

+

add(item)

@@ -717,7 +727,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 59 + src/utils/LinkedList.js line 59 @@ -770,7 +780,7 @@
Returns:
-

+

callAll(callback)

@@ -876,7 +886,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 156 + src/utils/LinkedList.js line 156 @@ -905,7 +915,7 @@
Parameters:
-

+

remove(item)

@@ -1010,7 +1020,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 107 + src/utils/LinkedList.js line 107 @@ -1039,7 +1049,7 @@
Parameters:
-

+

reset()

@@ -1094,7 +1104,7 @@

Source:
- src/utils/LinkedList.js line 92 + src/utils/LinkedList.js line 92 @@ -1137,9 +1147,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1156,9 +1166,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1170,7 +1180,7 @@

- +
@@ -1185,7 +1195,7 @@

- + diff --git a/docs/Phaser.Loader.html b/docs/Phaser.Loader.html index a64899c71..6222e7482 100644 --- a/docs/Phaser.Loader.html +++ b/docs/Phaser.Loader.html @@ -6,7 +6,7 @@ Phaser CE Class: Loader - + @@ -125,7 +125,7 @@

-

+

new Loader(game)

@@ -235,7 +235,7 @@
Parameters:
Source:
- src/loader/Loader.js line 22 + src/loader/Loader.js line 22 @@ -279,9 +279,11 @@

Members

-
-

<static, constant> PHYSICS_LIME_CORONA_JSON :number

- +
+

+ <static, constant> PHYSICS_LIME_CORONA_JSON : number + +

@@ -334,7 +336,7 @@
Type:
Source:
- src/loader/Loader.js line 323 + src/loader/Loader.js line 323 @@ -350,9 +352,11 @@
Type:
-
-

<static, constant> PHYSICS_PHASER_JSON :number

- +
+

+ <static, constant> PHYSICS_PHASER_JSON : number + +

@@ -405,7 +409,7 @@
Type:
Source:
- src/loader/Loader.js line 329 + src/loader/Loader.js line 329 @@ -421,9 +425,11 @@
Type:
-
-

<static, constant> TEXTURE_ATLAS_JSON_ARRAY :number

- +
+

+ <static, constant> TEXTURE_ATLAS_JSON_ARRAY : number + +

@@ -476,7 +482,7 @@
Type:
Source:
- src/loader/Loader.js line 305 + src/loader/Loader.js line 305 @@ -492,9 +498,11 @@
Type:
-
-

<static, constant> TEXTURE_ATLAS_JSON_HASH :number

- +
+

+ <static, constant> TEXTURE_ATLAS_JSON_HASH : number + +

@@ -547,7 +555,7 @@
Type:
Source:
- src/loader/Loader.js line 311 + src/loader/Loader.js line 311 @@ -563,9 +571,11 @@
Type:
-
-

<static, constant> TEXTURE_ATLAS_JSON_PYXEL :number

- +
+

+ <static, constant> TEXTURE_ATLAS_JSON_PYXEL : number + +

@@ -618,7 +628,7 @@
Type:
Source:
- src/loader/Loader.js line 335 + src/loader/Loader.js line 335 @@ -634,9 +644,11 @@
Type:
-
-

<static, constant> TEXTURE_ATLAS_XML_STARLING :number

- +
+

+ <static, constant> TEXTURE_ATLAS_XML_STARLING : number + +

@@ -689,7 +701,7 @@
Type:
Source:
- src/loader/Loader.js line 317 + src/loader/Loader.js line 317 @@ -705,9 +717,11 @@
Type:
-
-

_withSyncPointDepth

- +
+

+ _withSyncPointDepth + +

@@ -806,7 +820,7 @@
Properties:
Source:
- src/loader/Loader.js line 228 + src/loader/Loader.js line 228 @@ -822,9 +836,11 @@
Properties:
-
-

baseURL :string

- +
+

+ baseURL : string + +

@@ -883,7 +899,7 @@
Type:
Source:
- src/loader/Loader.js line 83 + src/loader/Loader.js line 83 @@ -899,9 +915,11 @@
Type:
-
-

<protected> cache :Phaser.Cache

- +
+

+ <protected> cache : Phaser.Cache + +

@@ -958,7 +976,7 @@
Type:
Source:
- src/loader/Loader.js line 36 + src/loader/Loader.js line 36 @@ -974,9 +992,11 @@
Type:
-
-

crossOrigin :boolean|string

- +
+

+ crossOrigin : boolean | string + +

@@ -1036,7 +1056,7 @@
Type:
Source:
- src/loader/Loader.js line 74 + src/loader/Loader.js line 74 @@ -1052,9 +1072,11 @@
Type:
-
-

enableParallel :boolean

- +
+

+ enableParallel : boolean + +

@@ -1112,7 +1134,7 @@
Type:
Source:
- src/loader/Loader.js line 211 + src/loader/Loader.js line 211 @@ -1128,9 +1150,11 @@
Type:
-
-

<protected> game :Phaser.Game

- +
+

+ <protected> game : Phaser.Game + +

@@ -1187,7 +1211,7 @@
Type:
Source:
- src/loader/Loader.js line 29 + src/loader/Loader.js line 29 @@ -1203,9 +1227,11 @@
Type:
-
-

hasLoaded :boolean

- +
+

+ hasLoaded : boolean + +

@@ -1262,7 +1288,7 @@
Type:
Source:
- src/loader/Loader.js line 57 + src/loader/Loader.js line 57 @@ -1278,9 +1304,11 @@
Type:
-
-

headers :object

- +
+

+ headers : object + +

@@ -1351,7 +1379,7 @@
Type:
Source:
- src/loader/Loader.js line 122 + src/loader/Loader.js line 122 @@ -1367,9 +1395,11 @@
Type:
-
-

isLoading :boolean

- +
+

+ isLoading : boolean + +

@@ -1426,7 +1456,7 @@
Type:
Source:
- src/loader/Loader.js line 50 + src/loader/Loader.js line 50 @@ -1442,9 +1472,11 @@
Type:
-
-

maxParallelDownloads :integer

- +
+

+ maxParallelDownloads : integer + +

@@ -1503,7 +1535,7 @@
Type:
Source:
- src/loader/Loader.js line 222 + src/loader/Loader.js line 222 @@ -1519,9 +1551,11 @@
Type:
-
-

onFileComplete :Phaser.Signal

- +
+

+ onFileComplete : Phaser.Signal + +

@@ -1581,7 +1615,7 @@
Type:
Source:
- src/loader/Loader.js line 175 + src/loader/Loader.js line 175 @@ -1597,9 +1631,11 @@
Type:
-
-

onFileError :Phaser.Signal

- +
+

+ onFileError : Phaser.Signal + +

@@ -1658,7 +1694,7 @@
Type:
Source:
- src/loader/Loader.js line 186 + src/loader/Loader.js line 186 @@ -1674,9 +1710,11 @@
Type:
-
-

onFileStart :Phaser.Signal

- +
+

+ onFileStart : Phaser.Signal + +

@@ -1735,7 +1773,7 @@
Type:
Source:
- src/loader/Loader.js line 162 + src/loader/Loader.js line 162 @@ -1751,9 +1789,11 @@
Type:
-
-

onLoadComplete :Phaser.Signal

- +
+

+ onLoadComplete : Phaser.Signal + +

@@ -1810,7 +1850,7 @@
Type:
Source:
- src/loader/Loader.js line 141 + src/loader/Loader.js line 141 @@ -1826,9 +1866,11 @@
Type:
-
-

onLoadStart :Phaser.Signal

- +
+

+ onLoadStart : Phaser.Signal + +

@@ -1886,7 +1928,7 @@
Type:
Source:
- src/loader/Loader.js line 134 + src/loader/Loader.js line 134 @@ -1902,9 +1944,11 @@
Type:
-
-

onPackComplete :Phaser.Signal

- +
+

+ onPackComplete : Phaser.Signal + +

@@ -1963,7 +2007,7 @@
Type:
Source:
- src/loader/Loader.js line 152 + src/loader/Loader.js line 152 @@ -1979,9 +2023,11 @@
Type:
-
-

path :string

- +
+

+ path : string + +

@@ -2047,7 +2093,7 @@
Type:
Source:
- src/loader/Loader.js line 103 + src/loader/Loader.js line 103 @@ -2063,9 +2109,11 @@
Type:
-
-

<protected> preloadSprite :object

- +
+

+ <protected> preloadSprite : object + +

@@ -2123,7 +2171,7 @@
Type:
Source:
- src/loader/Loader.js line 67 + src/loader/Loader.js line 67 @@ -2139,9 +2187,11 @@
Type:
-
-

progress

- +
+

+ progress + +

@@ -2236,7 +2286,7 @@
Properties:
Source:
- src/loader/Loader.js line 3208 + src/loader/Loader.js line 3208 @@ -2252,9 +2302,11 @@
Properties:
-
-

progressFloat

- +
+

+ progressFloat + +

@@ -2351,7 +2403,7 @@
Properties:
Source:
- src/loader/Loader.js line 3190 + src/loader/Loader.js line 3190 @@ -2367,9 +2419,11 @@
Properties:
-
-

resetLocked :boolean

- +
+

+ resetLocked : boolean + +

@@ -2426,7 +2480,7 @@
Type:
Source:
- src/loader/Loader.js line 43 + src/loader/Loader.js line 43 @@ -2442,9 +2496,11 @@
Type:
-
-

useXDomainRequest :boolean

- +
+

+ useXDomainRequest : boolean + deprecated +

@@ -2511,7 +2567,7 @@
Type:
Source:
- src/loader/Loader.js line 196 + src/loader/Loader.js line 196 @@ -2534,7 +2590,7 @@

Methods

-

+

addSyncPoint(type, key)

@@ -2664,7 +2720,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1798 + src/loader/Loader.js line 1798 @@ -2724,7 +2780,7 @@
Returns:
-

+

<protected> addToFileList(type, key [, url] [, properties] [, overwrite] [, extension])

@@ -3037,7 +3093,7 @@
Parameters:
Source:
- src/loader/Loader.js line 516 + src/loader/Loader.js line 516 @@ -3090,7 +3146,7 @@
Returns:
-

+

atlas(key [, textureURL] [, atlasURL] [, atlasData] [, format])

@@ -3359,7 +3415,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1667 + src/loader/Loader.js line 1667 @@ -3412,7 +3468,7 @@
Returns:
-

+

atlasJSONArray(key [, textureURL] [, atlasURL] [, atlasData])

@@ -3648,7 +3704,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1521 + src/loader/Loader.js line 1521 @@ -3701,7 +3757,7 @@
Returns:
-

+

atlasJSONHash(key [, textureURL] [, atlasURL] [, atlasData])

@@ -3937,7 +3993,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1567 + src/loader/Loader.js line 1567 @@ -3990,7 +4046,7 @@
Returns:
-

+

atlasXML(key [, textureURL] [, atlasURL] [, atlasData])

@@ -4226,7 +4282,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1613 + src/loader/Loader.js line 1613 @@ -4279,7 +4335,7 @@
Returns:
-

+

audio(key, urls [, autoDecode])

@@ -4493,7 +4549,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1114 + src/loader/Loader.js line 1114 @@ -4546,7 +4602,7 @@
Returns:
-

+

audiosprite(key, urls [, jsonURL] [, jsonData] [, autoDecode])

@@ -4830,7 +4886,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1216 + src/loader/Loader.js line 1216 @@ -4883,7 +4939,7 @@
Returns:
-

+

audioSprite(key, urls [, jsonURL] [, jsonData] [, autoDecode])

@@ -5173,7 +5229,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1157 + src/loader/Loader.js line 1157 @@ -5226,7 +5282,7 @@
Returns:
-

+

binary(key [, url] [, callback] [, callbackContext])

@@ -5473,7 +5529,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1032 + src/loader/Loader.js line 1032 @@ -5526,7 +5582,7 @@
Returns:
-

+

bitmapFont(key, textureURL, atlasURL, atlasData [, xSpacing] [, ySpacing])

@@ -5852,7 +5908,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1430 + src/loader/Loader.js line 1430 @@ -5905,7 +5961,7 @@
Returns:
-

+

checkKeyExists(type, key)

@@ -6035,7 +6091,7 @@
Parameters:
Source:
- src/loader/Loader.js line 391 + src/loader/Loader.js line 391 @@ -6088,7 +6144,7 @@
Returns:
-

+

getAsset(type, key)

@@ -6218,7 +6274,7 @@
Parameters:
Source:
- src/loader/Loader.js line 442 + src/loader/Loader.js line 442 @@ -6272,7 +6328,7 @@
Returns:
-

+

getAssetIndex(type, key)

@@ -6402,7 +6458,7 @@
Parameters:
Source:
- src/loader/Loader.js line 407 + src/loader/Loader.js line 407 @@ -6456,7 +6512,7 @@
Returns:
-

+

image(key [, url] [, overwrite])

@@ -6484,7 +6540,7 @@

The formats that support all 3 compression algorithms are PVR and KTX. PKM only supports ETC1, and DDS only S3TC for now.

The texture path object looks like this:

-
load.image('factory', {
+
load.image('factory', {
     etc1: 'assets/factory_etc1.pkm',
     s3tc: 'assets/factory_dxt1.pvr',
     pvrtc: 'assets/factory_pvrtc.pvr',
@@ -6682,7 +6738,7 @@ 
Parameters:
Source:
- src/loader/Loader.js line 694 + src/loader/Loader.js line 694 @@ -6735,7 +6791,7 @@
Returns:
-

+

imageFromBitmapData(key, bitmapData [, overwrite])

@@ -6932,7 +6988,7 @@
Parameters:
Source:
- src/loader/Loader.js line 756 + src/loader/Loader.js line 756 @@ -6985,7 +7041,7 @@
Returns:
-

+

images(keys [, urls])

@@ -7143,7 +7199,7 @@
Parameters:
Source:
- src/loader/Loader.js line 843 + src/loader/Loader.js line 843 @@ -7196,7 +7252,7 @@
Returns:
-

+

json(key [, url] [, overwrite])

@@ -7403,7 +7459,7 @@
Parameters:
Source:
- src/loader/Loader.js line 915 + src/loader/Loader.js line 915 @@ -7456,7 +7512,7 @@
Returns:
-

+

pack(key [, url] [, data] [, callbackContext])

@@ -7700,7 +7756,7 @@
Parameters:
Source:
- src/loader/Loader.js line 614 + src/loader/Loader.js line 614 @@ -7753,7 +7809,7 @@
Returns:
-

+

physics(key [, url] [, data] [, format])

@@ -8006,7 +8062,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1369 + src/loader/Loader.js line 1369 @@ -8059,7 +8115,7 @@
Returns:
-

+

<protected> removeAll()

@@ -8114,7 +8170,7 @@

Source:
- src/loader/Loader.js line 1845 + src/loader/Loader.js line 1845 @@ -8143,7 +8199,7 @@

-

+

<protected> removeFile(type, key)

@@ -8273,7 +8329,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1821 + src/loader/Loader.js line 1821 @@ -8302,7 +8358,7 @@
Parameters:
-

+

<protected> replaceInFileList(type, key, url, properties)

@@ -8479,7 +8535,7 @@
Parameters:
Source:
- src/loader/Loader.js line 598 + src/loader/Loader.js line 598 @@ -8508,7 +8564,7 @@
Parameters:
-

+

<protected> reset( [hard] [, clearEvents])

@@ -8675,7 +8731,7 @@
Parameters:
Source:
- src/loader/Loader.js line 466 + src/loader/Loader.js line 466 @@ -8704,7 +8760,7 @@
Parameters:
-

+

<protected> resize()

@@ -8760,7 +8816,7 @@

Source:
- src/loader/Loader.js line 374 + src/loader/Loader.js line 374 @@ -8789,7 +8845,7 @@

-

+

script(key [, url] [, callback] [, callbackContext])

@@ -9037,7 +9093,7 @@
Parameters:
Source:
- src/loader/Loader.js line 997 + src/loader/Loader.js line 997 @@ -9090,7 +9146,7 @@
Returns:
-

+

setPreloadSprite(sprite [, direction])

@@ -9257,7 +9313,7 @@
Parameters:
Source:
- src/loader/Loader.js line 339 + src/loader/Loader.js line 339 @@ -9286,7 +9342,7 @@
Parameters:
-

+

shader(key [, url] [, overwrite])

@@ -9492,7 +9548,7 @@
Parameters:
Source:
- src/loader/Loader.js line 943 + src/loader/Loader.js line 943 @@ -9545,7 +9601,7 @@
Returns:
-

+

spritesheet(key, url, frameWidth, frameHeight [, frameMax] [, margin] [, spacing] [, skipFrames])

@@ -9947,7 +10003,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1070 + src/loader/Loader.js line 1070 @@ -10000,7 +10056,7 @@
Returns:
-

+

start()

@@ -10055,7 +10111,7 @@

Source:
- src/loader/Loader.js line 1858 + src/loader/Loader.js line 1858 @@ -10084,7 +10140,7 @@

-

+

text(key [, url] [, overwrite])

@@ -10290,7 +10346,7 @@
Parameters:
Source:
- src/loader/Loader.js line 888 + src/loader/Loader.js line 888 @@ -10343,7 +10399,7 @@
Returns:
-

+

texture(key, object [, overwrite])

@@ -10361,7 +10417,7 @@

The formats that support all 3 compression algorithms are PVR and KTX. PKM only supports ETC1, and DDS only S3TC for now.

The texture path object looks like this:

-
load.texture('factory', {
+
load.texture('factory', {
     etc1: 'assets/factory_etc1.pkm',
     s3tc: 'assets/factory_dxt1.pvr',
     pvrtc: 'assets/factory_pvrtc.pvr',
@@ -10561,7 +10617,7 @@ 
Parameters:
Source:
- src/loader/Loader.js line 771 + src/loader/Loader.js line 771 @@ -10614,7 +10670,7 @@
Returns:
-

+

tilemap(key [, url] [, data] [, format])

@@ -10868,7 +10924,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1288 + src/loader/Loader.js line 1288 @@ -10921,7 +10977,7 @@
Returns:
-

+

<protected> totalLoadedFiles()

@@ -10976,7 +11032,7 @@

Source:
- src/loader/Loader.js line 3136 + src/loader/Loader.js line 3136 @@ -11029,7 +11085,7 @@
Returns:
-

+

<protected> totalLoadedPacks()

@@ -11084,7 +11140,7 @@

Source:
- src/loader/Loader.js line 3162 + src/loader/Loader.js line 3162 @@ -11137,7 +11193,7 @@
Returns:
-

+

<protected> totalQueuedFiles()

@@ -11192,7 +11248,7 @@

Source:
- src/loader/Loader.js line 3149 + src/loader/Loader.js line 3149 @@ -11245,7 +11301,7 @@
Returns:
-

+

<protected> totalQueuedPacks()

@@ -11300,7 +11356,7 @@

Source:
- src/loader/Loader.js line 3175 + src/loader/Loader.js line 3175 @@ -11353,7 +11409,7 @@
Returns:
-

+

<protected> transformUrl(url, file)

@@ -11483,7 +11539,7 @@
Parameters:
Source:
- src/loader/Loader.js line 2185 + src/loader/Loader.js line 2185 @@ -11536,7 +11592,7 @@
Returns:
-

+

video(key, urls [, loadEvent] [, asBlob])

@@ -11793,7 +11849,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1234 + src/loader/Loader.js line 1234 @@ -11846,7 +11902,7 @@
Returns:
-

+

withSyncPoint(callback [, callbackContext])

@@ -12011,7 +12067,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1772 + src/loader/Loader.js line 1772 @@ -12064,7 +12120,7 @@
Returns:
-

+

xml(key [, url] [, overwrite])

@@ -12270,7 +12326,7 @@
Parameters:
Source:
- src/loader/Loader.js line 970 + src/loader/Loader.js line 970 @@ -12337,9 +12393,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -12356,9 +12412,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -12370,7 +12426,7 @@
Returns:
- +
@@ -12385,7 +12441,7 @@
Returns:
- + diff --git a/docs/Phaser.LoaderParser.html b/docs/Phaser.LoaderParser.html index b30d89286..cb5c6d2b6 100644 --- a/docs/Phaser.LoaderParser.html +++ b/docs/Phaser.LoaderParser.html @@ -6,7 +6,7 @@ Phaser CE Class: LoaderParser - + @@ -125,7 +125,7 @@

-

+

new LoaderParser()

@@ -180,7 +180,7 @@

Source:
- src/loader/LoaderParser.js line 12 + src/loader/LoaderParser.js line 12 @@ -227,7 +227,7 @@

Methods

-

+

<static> bitmapFont(xml, baseTexture [, xSpacing] [, ySpacing] [, frame] [, resolution])

@@ -542,7 +542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 14 + src/loader/LoaderParser.js line 14 @@ -595,7 +595,7 @@
Returns:
-

+

<static> dds(arrayBuffer)

@@ -700,7 +700,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 288 + src/loader/LoaderParser.js line 288 @@ -753,7 +753,7 @@
Returns:
-

+

<static> jsonBitmapFont(json, baseTexture [, xSpacing] [, ySpacing] [, frame] [, resolution])

@@ -1068,7 +1068,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 96 + src/loader/LoaderParser.js line 96 @@ -1121,7 +1121,7 @@
Returns:
-

+

<static> ktx(arrayBuffer)

@@ -1226,7 +1226,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 385 + src/loader/LoaderParser.js line 385 @@ -1279,7 +1279,7 @@
Returns:
-

+

<static> pkm(arrayBuffer)

@@ -1384,7 +1384,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 484 + src/loader/LoaderParser.js line 484 @@ -1437,7 +1437,7 @@
Returns:
-

+

<static> pvr(arrayBuffer)

@@ -1542,7 +1542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 189 + src/loader/LoaderParser.js line 189 @@ -1595,7 +1595,7 @@
Returns:
-

+

<static> xmlBitmapFont(xml, baseTexture [, xSpacing] [, ySpacing] [, frame] [, resolution])

@@ -1910,7 +1910,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 32 + src/loader/LoaderParser.js line 32 @@ -1977,9 +1977,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1996,9 +1996,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2010,7 +2010,7 @@
Returns:
- +
@@ -2025,7 +2025,7 @@
Returns:
- + diff --git a/docs/Phaser.MSPointer.html b/docs/Phaser.MSPointer.html index 32f437988..9db59e992 100644 --- a/docs/Phaser.MSPointer.html +++ b/docs/Phaser.MSPointer.html @@ -6,7 +6,7 @@ Phaser CE Class: MSPointer - + @@ -125,7 +125,7 @@

-

+

new MSPointer(game)

@@ -241,7 +241,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 36 + src/input/MSPointer.js line 36 @@ -285,9 +285,11 @@

Members

-
-

button :number

- +
+

+ button : number + +

@@ -346,7 +348,7 @@
Type:
Source:
- src/input/MSPointer.js line 80 + src/input/MSPointer.js line 80 @@ -362,9 +364,11 @@
Type:
-
-

callbackContext :object

- +
+

+ callbackContext : object + +

@@ -421,7 +425,7 @@
Type:
Source:
- src/input/MSPointer.js line 52 + src/input/MSPointer.js line 52 @@ -437,9 +441,11 @@
Type:
-
-

capture :boolean

- +
+

+ capture : boolean + +

@@ -496,7 +502,7 @@
Type:
Source:
- src/input/MSPointer.js line 72 + src/input/MSPointer.js line 72 @@ -512,9 +518,11 @@
Type:
-
-

enabled :boolean

- +
+

+ enabled : boolean + +

@@ -578,7 +586,7 @@
Type:
Source:
- src/input/MSPointer.js line 95 + src/input/MSPointer.js line 95 @@ -594,9 +602,11 @@
Type:
-
-

event :MSPointerEvent|PointerEvent|null

- +
+

+ event : MSPointerEvent | PointerEvent | null + +

@@ -660,7 +670,7 @@
Type:
Source:
- src/input/MSPointer.js line 88 + src/input/MSPointer.js line 88 @@ -676,9 +686,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -735,7 +747,7 @@
Type:
Source:
- src/input/MSPointer.js line 41 + src/input/MSPointer.js line 41 @@ -751,9 +763,11 @@
Type:
-
-

<protected> input :Phaser.Input

- +
+

+ <protected> input : Phaser.Input + +

@@ -810,7 +824,7 @@
Type:
Source:
- src/input/MSPointer.js line 47 + src/input/MSPointer.js line 47 @@ -826,9 +840,11 @@
Type:
-
-

pointerDownCallback :function

- +
+

+ pointerDownCallback : function + +

@@ -885,7 +901,7 @@
Type:
Source:
- src/input/MSPointer.js line 57 + src/input/MSPointer.js line 57 @@ -901,9 +917,11 @@
Type:
-
-

pointerMoveCallback :function

- +
+

+ pointerMoveCallback : function + +

@@ -960,7 +978,7 @@
Type:
Source:
- src/input/MSPointer.js line 62 + src/input/MSPointer.js line 62 @@ -976,9 +994,11 @@
Type:
-
-

pointerUpCallback :function

- +
+

+ pointerUpCallback : function + +

@@ -1035,7 +1055,7 @@
Type:
Source:
- src/input/MSPointer.js line 67 + src/input/MSPointer.js line 67 @@ -1058,7 +1078,7 @@

Methods

-

+

onPointerDown(event)

@@ -1163,7 +1183,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 206 + src/input/MSPointer.js line 206 @@ -1192,7 +1212,7 @@
Parameters:
-

+

onPointerMove(event)

@@ -1297,7 +1317,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 246 + src/input/MSPointer.js line 246 @@ -1326,7 +1346,7 @@
Parameters:
-

+

onPointerOut(event)

@@ -1431,7 +1451,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 401 + src/input/MSPointer.js line 401 @@ -1460,7 +1480,7 @@
Parameters:
-

+

onPointerOut(event)

@@ -1565,7 +1585,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 346 + src/input/MSPointer.js line 346 @@ -1594,7 +1614,7 @@
Parameters:
-

+

onPointerUp(event)

@@ -1699,7 +1719,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 283 + src/input/MSPointer.js line 283 @@ -1728,7 +1748,7 @@
Parameters:
-

+

onPointerUpGlobal(event)

@@ -1833,7 +1853,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 322 + src/input/MSPointer.js line 322 @@ -1862,7 +1882,7 @@
Parameters:
-

+

start()

@@ -1917,7 +1937,7 @@

Source:
- src/input/MSPointer.js line 137 + src/input/MSPointer.js line 137 @@ -1946,7 +1966,7 @@

-

+

stop()

@@ -2001,7 +2021,7 @@

Source:
- src/input/MSPointer.js line 437 + src/input/MSPointer.js line 437 @@ -2044,9 +2064,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2063,9 +2083,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2077,7 +2097,7 @@

- +
@@ -2092,7 +2112,7 @@

- + diff --git a/docs/Phaser.Math.html b/docs/Phaser.Math.html index b8eb54dd4..10941bcbf 100644 --- a/docs/Phaser.Math.html +++ b/docs/Phaser.Math.html @@ -6,7 +6,7 @@ Phaser CE Class: Math - + @@ -125,7 +125,7 @@

-

+

new Math()

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

Source:
- src/math/Math.js line 17 + src/math/Math.js line 17 @@ -234,9 +234,11 @@

Members

-
-

<static> DEG_TO_RAD

- +
+

+ <static> DEG_TO_RAD + +

@@ -335,7 +337,7 @@
Properties:
Source:
- src/math/Math.js line 37 + src/math/Math.js line 37 @@ -351,9 +353,11 @@
Properties:
-
-

<static> HALF_PI

- +
+

+ <static> HALF_PI + +

@@ -459,7 +463,7 @@
Properties:
Source:
- src/math/Math.js line 31 + src/math/Math.js line 31 @@ -475,9 +479,11 @@
Properties:
-
-

<static> PI2

- +
+

+ <static> PI2 + +

@@ -583,7 +589,7 @@
Properties:
Source:
- src/math/Math.js line 24 + src/math/Math.js line 24 @@ -599,9 +605,11 @@
Properties:
-
-

<static> RAD_TO_DEG

- +
+

+ <static> RAD_TO_DEG + +

@@ -700,7 +708,7 @@
Properties:
Source:
- src/math/Math.js line 43 + src/math/Math.js line 43 @@ -723,7 +731,7 @@

Methods

-

+

angleBetween(x1, y1, x2, y2)

@@ -900,7 +908,7 @@
Parameters:
Source:
- src/math/Math.js line 541 + src/math/Math.js line 541 @@ -953,7 +961,7 @@
Returns:
-

+

angleBetweenPoints(point1, point2)

@@ -1082,7 +1090,7 @@
Parameters:
Source:
- src/math/Math.js line 576 + src/math/Math.js line 576 @@ -1135,7 +1143,7 @@
Returns:
-

+

angleBetweenPointsY(point1, point2)

@@ -1264,7 +1272,7 @@
Parameters:
Source:
- src/math/Math.js line 590 + src/math/Math.js line 590 @@ -1317,7 +1325,7 @@
Returns:
-

+

angleBetweenY(x1, y1, x2, y2)

@@ -1496,7 +1504,7 @@
Parameters:
Source:
- src/math/Math.js line 557 + src/math/Math.js line 557 @@ -1549,7 +1557,7 @@
Returns:
-

+

average()

@@ -1604,7 +1612,7 @@

Source:
- src/math/Math.js line 260 + src/math/Math.js line 260 @@ -1657,7 +1665,7 @@
Returns:
-

+

<protected> bernstein(n, i)

@@ -1782,7 +1790,7 @@
Parameters:
Source:
- src/math/Math.js line 983 + src/math/Math.js line 983 @@ -1831,7 +1839,7 @@
Returns:
-

+

between(min, max)

@@ -1961,7 +1969,7 @@
Parameters:
Source:
- src/math/Math.js line 144 + src/math/Math.js line 144 @@ -2014,7 +2022,7 @@
Returns:
-

+

bezierInterpolation(v, k)

@@ -2143,7 +2151,7 @@
Parameters:
Source:
- src/math/Math.js line 906 + src/math/Math.js line 906 @@ -2196,7 +2204,7 @@
Returns:
-

+

<protected> catmullRom(p0, p1, p2, p3, t)

@@ -2397,7 +2405,7 @@
Parameters:
Source:
- src/math/Math.js line 1019 + src/math/Math.js line 1019 @@ -2446,7 +2454,7 @@
Returns:
-

+

catmullRomInterpolation(v, k)

@@ -2575,7 +2583,7 @@
Parameters:
Source:
- src/math/Math.js line 928 + src/math/Math.js line 928 @@ -2628,7 +2636,7 @@
Returns:
-

+

ceilTo(value [, place] [, base])

@@ -2830,7 +2838,7 @@
Parameters:
Source:
- src/math/Math.js line 439 + src/math/Math.js line 439 @@ -2883,7 +2891,7 @@
Returns:
-

+

clamp(v, min, max)

@@ -3036,7 +3044,7 @@
Parameters:
Source:
- src/math/Math.js line 1179 + src/math/Math.js line 1179 @@ -3089,7 +3097,7 @@
Returns:
-

+

clampBottom(x, a)

@@ -3219,7 +3227,7 @@
Parameters:
Source:
- src/math/Math.js line 1205 + src/math/Math.js line 1205 @@ -3268,7 +3276,7 @@
Returns:
-

+

degToRad(degrees)

@@ -3373,7 +3381,7 @@
Parameters:
Source:
- src/math/Math.js line 45 + src/math/Math.js line 45 @@ -3426,7 +3434,7 @@
Returns:
-

+

difference(a, b)

@@ -3555,7 +3563,7 @@
Parameters:
Source:
- src/math/Math.js line 1039 + src/math/Math.js line 1039 @@ -3608,7 +3616,7 @@
Returns:
-

+

distance(x1, y1, x2, y2)

@@ -3785,7 +3793,7 @@
Parameters:
Source:
- src/math/Math.js line 1121 + src/math/Math.js line 1121 @@ -3838,7 +3846,7 @@
Returns:
-

+

distancePow(x1, y1, x2, y2 [, pow])

@@ -4107,7 +4115,7 @@
Parameters:
Source:
- src/math/Math.js line 1160 + src/math/Math.js line 1160 @@ -4160,7 +4168,7 @@
Returns:
-

+

distanceSq(x1, y1, x2, y2)

@@ -4338,7 +4346,7 @@
Parameters:
Source:
- src/math/Math.js line 1140 + src/math/Math.js line 1140 @@ -4391,7 +4399,7 @@
Returns:
-

+

factorial(value)

@@ -4492,7 +4500,7 @@
Parameters:
Source:
- src/math/Math.js line 996 + src/math/Math.js line 996 @@ -4541,7 +4549,7 @@
Returns:
-

+

floorTo(value [, place] [, base])

@@ -4743,7 +4751,7 @@
Parameters:
Source:
- src/math/Math.js line 418 + src/math/Math.js line 418 @@ -4796,7 +4804,7 @@
Returns:
-

+

fuzzyCeil(val [, epsilon])

@@ -4957,7 +4965,7 @@
Parameters:
Source:
- src/math/Math.js line 228 + src/math/Math.js line 228 @@ -5010,7 +5018,7 @@
Returns:
-

+

fuzzyEqual(a, b [, epsilon])

@@ -5207,7 +5215,7 @@
Parameters:
Source:
- src/math/Math.js line 177 + src/math/Math.js line 177 @@ -5260,7 +5268,7 @@
Returns:
-

+

fuzzyFloor(val [, epsilon])

@@ -5421,7 +5429,7 @@
Parameters:
Source:
- src/math/Math.js line 244 + src/math/Math.js line 244 @@ -5474,7 +5482,7 @@
Returns:
-

+

fuzzyGreaterThan(a, b [, epsilon])

@@ -5671,7 +5679,7 @@
Parameters:
Source:
- src/math/Math.js line 211 + src/math/Math.js line 211 @@ -5724,7 +5732,7 @@
Returns:
-

+

fuzzyLessThan(a, b [, epsilon])

@@ -5921,7 +5929,7 @@
Parameters:
Source:
- src/math/Math.js line 194 + src/math/Math.js line 194 @@ -5974,7 +5982,7 @@
Returns:
-

+

getNextPowerOfTwo(value)

@@ -6080,7 +6088,7 @@
Parameters:
Source:
- src/math/Math.js line 71 + src/math/Math.js line 71 @@ -6133,7 +6141,7 @@
Returns:
-

+

getShortestAngle(angle1, angle2)

@@ -6268,7 +6276,7 @@
Parameters:
Source:
- src/math/Math.js line 511 + src/math/Math.js line 511 @@ -6321,7 +6329,7 @@
Returns:
-

+

hypot(a, b)

@@ -6450,7 +6458,7 @@
Parameters:
Source:
- src/math/Math.js line 1107 + src/math/Math.js line 1107 @@ -6503,7 +6511,7 @@
Returns:
-

+

isEven(n)

@@ -6608,7 +6616,7 @@
Parameters:
Source:
- src/math/Math.js line 726 + src/math/Math.js line 726 @@ -6661,7 +6669,7 @@
Returns:
-

+

isOdd(n)

@@ -6766,7 +6774,7 @@
Parameters:
Source:
- src/math/Math.js line 712 + src/math/Math.js line 712 @@ -6819,7 +6827,7 @@
Returns:
-

+

isPowerOfTwo(width, height)

@@ -6948,7 +6956,7 @@
Parameters:
Source:
- src/math/Math.js line 100 + src/math/Math.js line 100 @@ -7001,7 +7009,7 @@
Returns:
-

+

linear(p0, p1, t)

@@ -7154,7 +7162,7 @@
Parameters:
Source:
- src/math/Math.js line 968 + src/math/Math.js line 968 @@ -7203,7 +7211,7 @@
Returns:
-

+

linearInterpolation(v, k)

@@ -7332,7 +7340,7 @@
Parameters:
Source:
- src/math/Math.js line 878 + src/math/Math.js line 878 @@ -7385,7 +7393,7 @@
Returns:
-

+

mapLinear(x, a1, a2, b1, b2)

@@ -7586,7 +7594,7 @@
Parameters:
Source:
- src/math/Math.js line 1236 + src/math/Math.js line 1236 @@ -7635,7 +7643,7 @@
Returns:
-

+

max()

@@ -7691,7 +7699,7 @@

Source:
- src/math/Math.js line 772 + src/math/Math.js line 772 @@ -7751,7 +7759,7 @@
Returns:
-

+

maxAdd(value, amount, max)

@@ -7904,7 +7912,7 @@
Parameters:
Source:
- src/math/Math.js line 628 + src/math/Math.js line 628 @@ -7957,7 +7965,7 @@
Returns:
-

+

maxProperty()

@@ -8013,7 +8021,7 @@

Source:
- src/math/Math.js line 834 + src/math/Math.js line 834 @@ -8066,7 +8074,7 @@
Returns:
-

+

min()

@@ -8122,7 +8130,7 @@

Source:
- src/math/Math.js line 740 + src/math/Math.js line 740 @@ -8182,7 +8190,7 @@
Returns:
-

+

minProperty()

@@ -8238,7 +8246,7 @@

Source:
- src/math/Math.js line 804 + src/math/Math.js line 804 @@ -8291,7 +8299,7 @@
Returns:
-

+

minSub(value, amount, min)

@@ -8444,7 +8452,7 @@
Parameters:
Source:
- src/math/Math.js line 643 + src/math/Math.js line 643 @@ -8497,7 +8505,7 @@
Returns:
-

+

normalizeAngle(angleRad)

@@ -8602,7 +8610,7 @@
Parameters:
Source:
- src/math/Math.js line 615 + src/math/Math.js line 615 @@ -8655,7 +8663,7 @@
Returns:
-

+

percent(a, b [, base])

@@ -8852,7 +8860,7 @@
Parameters:
Source:
- src/math/Math.js line 1304 + src/math/Math.js line 1304 @@ -8905,7 +8913,7 @@
Returns:
-

+

radToDeg(radians)

@@ -9010,7 +9018,7 @@
Parameters:
Source:
- src/math/Math.js line 58 + src/math/Math.js line 58 @@ -9063,7 +9071,7 @@
Returns:
-

+

random(min, max)

@@ -9193,7 +9201,7 @@
Parameters:
Source:
- src/math/Math.js line 114 + src/math/Math.js line 114 @@ -9246,7 +9254,7 @@
Returns:
-

+

reverseAngle(angleRad)

@@ -9351,7 +9359,7 @@
Parameters:
Source:
- src/math/Math.js line 603 + src/math/Math.js line 603 @@ -9404,7 +9412,7 @@
Returns:
-

+

rotateToAngle(currentAngle, targetAngle [, lerp])

@@ -9602,7 +9610,7 @@
Parameters:
Source:
- src/math/Math.js line 460 + src/math/Math.js line 460 @@ -9655,7 +9663,7 @@
Returns:
-

+

roundAwayFromZero(value)

@@ -9760,7 +9768,7 @@
Parameters:
Source:
- src/math/Math.js line 1053 + src/math/Math.js line 1053 @@ -9813,7 +9821,7 @@
Returns:
-

+

roundTo(value [, place] [, base])

@@ -10037,7 +10045,7 @@
Parameters:
Source:
- src/math/Math.js line 372 + src/math/Math.js line 372 @@ -10090,7 +10098,7 @@
Returns:
-

+

shear(n)

@@ -10191,7 +10199,7 @@
Parameters:
Source:
- src/math/Math.js line 281 + src/math/Math.js line 281 @@ -10244,7 +10252,7 @@
Returns:
-

+

sign(x)

@@ -10350,7 +10358,7 @@
Parameters:
Source:
- src/math/Math.js line 1289 + src/math/Math.js line 1289 @@ -10403,7 +10411,7 @@
Returns:
-

+

sinCosGenerator(length, sinAmplitude, cosAmplitude, frequency)

@@ -10583,7 +10591,7 @@
Parameters:
Source:
- src/math/Math.js line 1067 + src/math/Math.js line 1067 @@ -10636,7 +10644,7 @@
Returns:
-

+

smootherstep(x, min, max)

@@ -10789,7 +10797,7 @@
Parameters:
Source:
- src/math/Math.js line 1272 + src/math/Math.js line 1272 @@ -10842,7 +10850,7 @@
Returns:
-

+

smoothstep(x, min, max)

@@ -10995,7 +11003,7 @@
Parameters:
Source:
- src/math/Math.js line 1253 + src/math/Math.js line 1253 @@ -11048,7 +11056,7 @@
Returns:
-

+

snapTo(input, gap [, start])

@@ -11246,7 +11254,7 @@
Parameters:
Source:
- src/math/Math.js line 292 + src/math/Math.js line 292 @@ -11299,7 +11307,7 @@
Returns:
-

+

snapToCeil(input, gap [, start])

@@ -11498,7 +11506,7 @@
Parameters:
Source:
- src/math/Math.js line 345 + src/math/Math.js line 345 @@ -11551,7 +11559,7 @@
Returns:
-

+

snapToFloor(input, gap [, start])

@@ -11750,7 +11758,7 @@
Parameters:
Source:
- src/math/Math.js line 318 + src/math/Math.js line 318 @@ -11803,7 +11811,7 @@
Returns:
-

+

within(a, b, tolerance)

@@ -11956,7 +11964,7 @@
Parameters:
Source:
- src/math/Math.js line 1220 + src/math/Math.js line 1220 @@ -12016,7 +12024,7 @@
Returns:
-

+

wrap(value, min, max)

@@ -12170,7 +12178,7 @@
Parameters:
Source:
- src/math/Math.js line 658 + src/math/Math.js line 658 @@ -12223,7 +12231,7 @@
Returns:
-

+

wrapAngle(angle [, radians])

@@ -12384,7 +12392,7 @@
Parameters:
Source:
- src/math/Math.js line 864 + src/math/Math.js line 864 @@ -12437,7 +12445,7 @@
Returns:
-

+

wrapValue(value, amount, max)

@@ -12591,7 +12599,7 @@
Parameters:
Source:
- src/math/Math.js line 689 + src/math/Math.js line 689 @@ -12658,9 +12666,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -12677,9 +12685,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -12691,7 +12699,7 @@
Returns:
- +
@@ -12706,7 +12714,7 @@
Returns:
- + diff --git a/docs/Phaser.Matrix.html b/docs/Phaser.Matrix.html index 28f564bb0..c1050e9b8 100644 --- a/docs/Phaser.Matrix.html +++ b/docs/Phaser.Matrix.html @@ -6,7 +6,7 @@ Phaser CE Class: Matrix - + @@ -125,7 +125,7 @@

-

+

new Matrix( [a] [, b] [, c] [, d] [, tx] [, ty])

@@ -454,7 +454,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 26 + src/geom/Matrix.js line 26 @@ -498,9 +498,11 @@

Members

-
-

a :number

- +
+

+ a : number + +

@@ -560,7 +562,7 @@
Type:
Source:
- src/geom/Matrix.js line 39 + src/geom/Matrix.js line 39 @@ -576,9 +578,11 @@
Type:
-
-

b :number

- +
+

+ b : number + +

@@ -638,7 +642,7 @@
Type:
Source:
- src/geom/Matrix.js line 45 + src/geom/Matrix.js line 45 @@ -654,9 +658,11 @@
Type:
-
-

c :number

- +
+

+ c : number + +

@@ -716,7 +722,7 @@
Type:
Source:
- src/geom/Matrix.js line 51 + src/geom/Matrix.js line 51 @@ -732,9 +738,11 @@
Type:
-
-

d :number

- +
+

+ d : number + +

@@ -794,7 +802,7 @@
Type:
Source:
- src/geom/Matrix.js line 57 + src/geom/Matrix.js line 57 @@ -810,9 +818,11 @@
Type:
-
-

tx :number

- +
+

+ tx : number + +

@@ -872,7 +882,7 @@
Type:
Source:
- src/geom/Matrix.js line 63 + src/geom/Matrix.js line 63 @@ -888,9 +898,11 @@
Type:
-
-

ty :number

- +
+

+ ty : number + +

@@ -950,7 +962,7 @@
Type:
Source:
- src/geom/Matrix.js line 69 + src/geom/Matrix.js line 69 @@ -966,9 +978,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -1025,7 +1039,7 @@
Type:
Source:
- src/geom/Matrix.js line 75 + src/geom/Matrix.js line 75 @@ -1048,7 +1062,7 @@

Methods

-

+

append(matrix)

@@ -1153,7 +1167,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 345 + src/geom/Matrix.js line 345 @@ -1206,7 +1220,7 @@
Returns:
-

+

apply(pos [, newPos])

@@ -1356,7 +1370,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 233 + src/geom/Matrix.js line 233 @@ -1409,7 +1423,7 @@
Returns:
-

+

applyInverse(pos [, newPos])

@@ -1559,7 +1573,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 254 + src/geom/Matrix.js line 254 @@ -1612,7 +1626,7 @@
Returns:
-

+

clone( [output])

@@ -1731,7 +1745,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 128 + src/geom/Matrix.js line 128 @@ -1784,7 +1798,7 @@
Returns:
-

+

copyFrom(matrix)

@@ -1889,7 +1903,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 172 + src/geom/Matrix.js line 172 @@ -1942,7 +1956,7 @@
Returns:
-

+

copyTo(matrix)

@@ -2047,7 +2061,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 157 + src/geom/Matrix.js line 157 @@ -2100,7 +2114,7 @@
Returns:
-

+

fromArray(array)

@@ -2212,7 +2226,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 81 + src/geom/Matrix.js line 81 @@ -2265,7 +2279,7 @@
Returns:
-

+

identity()

@@ -2320,7 +2334,7 @@

Source:
- src/geom/Matrix.js line 371 + src/geom/Matrix.js line 371 @@ -2373,7 +2387,7 @@
Returns:
-

+

rotate(angle)

@@ -2478,7 +2492,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 318 + src/geom/Matrix.js line 318 @@ -2531,7 +2545,7 @@
Returns:
-

+

scale(x, y)

@@ -2660,7 +2674,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 297 + src/geom/Matrix.js line 297 @@ -2713,7 +2727,7 @@
Returns:
-

+

setTo(a, b, c, d, tx, ty)

@@ -2938,7 +2952,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 103 + src/geom/Matrix.js line 103 @@ -2991,7 +3005,7 @@
Returns:
-

+

toArray( [transpose] [, array])

@@ -3154,7 +3168,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 192 + src/geom/Matrix.js line 192 @@ -3207,7 +3221,7 @@
Returns:
-

+

translate(x, y)

@@ -3337,7 +3351,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 279 + src/geom/Matrix.js line 279 @@ -3404,9 +3418,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -3423,9 +3437,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3437,7 +3451,7 @@
Returns:
- +
@@ -3452,7 +3466,7 @@
Returns:
- + diff --git a/docs/Phaser.Mouse.html b/docs/Phaser.Mouse.html index 404fd594e..2fd08bd4f 100644 --- a/docs/Phaser.Mouse.html +++ b/docs/Phaser.Mouse.html @@ -6,7 +6,7 @@ Phaser CE Class: Mouse - + @@ -125,7 +125,7 @@

-

+

new Mouse(game)

@@ -235,7 +235,7 @@
Parameters:
Source:
- src/input/Mouse.js line 21 + src/input/Mouse.js line 21 @@ -279,9 +279,11 @@

Members

-
-

<static, constant> BACK_BUTTON :number

- +
+

+ <static, constant> BACK_BUTTON : number + +

@@ -334,7 +336,7 @@
Type:
Source:
- src/input/Mouse.js line 190 + src/input/Mouse.js line 190 @@ -350,9 +352,11 @@
Type:
-
-

<static, constant> FORWARD_BUTTON :number

- +
+

+ <static, constant> FORWARD_BUTTON : number + +

@@ -405,7 +409,7 @@
Type:
Source:
- src/input/Mouse.js line 196 + src/input/Mouse.js line 196 @@ -421,9 +425,11 @@
Type:
-
-

<static, constant> LEFT_BUTTON :number

- +
+

+ <static, constant> LEFT_BUTTON : number + +

@@ -476,7 +482,7 @@
Type:
Source:
- src/input/Mouse.js line 172 + src/input/Mouse.js line 172 @@ -492,9 +498,11 @@
Type:
-
-

<static, constant> MIDDLE_BUTTON :number

- +
+

+ <static, constant> MIDDLE_BUTTON : number + +

@@ -547,7 +555,7 @@
Type:
Source:
- src/input/Mouse.js line 178 + src/input/Mouse.js line 178 @@ -563,9 +571,11 @@
Type:
-
-

<static, constant> NO_BUTTON :number

- +
+

+ <static, constant> NO_BUTTON : number + +

@@ -618,7 +628,7 @@
Type:
Source:
- src/input/Mouse.js line 166 + src/input/Mouse.js line 166 @@ -634,9 +644,11 @@
Type:
-
-

<static, constant> RIGHT_BUTTON :number

- +
+

+ <static, constant> RIGHT_BUTTON : number + +

@@ -689,7 +701,7 @@
Type:
Source:
- src/input/Mouse.js line 184 + src/input/Mouse.js line 184 @@ -705,9 +717,11 @@
Type:
-
-

<static, constant> WHEEL_DOWN :number

- +
+

+ <static, constant> WHEEL_DOWN : number + +

@@ -760,7 +774,7 @@
Type:
Source:
- src/input/Mouse.js line 208 + src/input/Mouse.js line 208 @@ -776,9 +790,11 @@
Type:
-
-

<static, constant> WHEEL_UP :number

- +
+

+ <static, constant> WHEEL_UP : number + +

@@ -831,7 +847,7 @@
Type:
Source:
- src/input/Mouse.js line 202 + src/input/Mouse.js line 202 @@ -847,9 +863,11 @@
Type:
-
-

button :number

- +
+

+ button : number + +

@@ -908,7 +926,7 @@
Type:
Source:
- src/input/Mouse.js line 76 + src/input/Mouse.js line 76 @@ -924,9 +942,11 @@
Type:
-
-

callbackContext :object

- +
+

+ callbackContext : object + +

@@ -983,7 +1003,7 @@
Type:
Source:
- src/input/Mouse.js line 37 + src/input/Mouse.js line 37 @@ -999,9 +1019,11 @@
Type:
-
-

capture :boolean

- +
+

+ capture : boolean + +

@@ -1058,7 +1080,7 @@
Type:
Source:
- src/input/Mouse.js line 67 + src/input/Mouse.js line 67 @@ -1074,9 +1096,11 @@
Type:
-
-

enabled :boolean

- +
+

+ enabled : boolean + +

@@ -1140,7 +1164,7 @@
Type:
Source:
- src/input/Mouse.js line 89 + src/input/Mouse.js line 89 @@ -1156,9 +1180,11 @@
Type:
-
-

event :MouseEvent|null

- +
+

+ event : MouseEvent | null + +

@@ -1219,7 +1245,7 @@
Type:
Source:
- src/input/Mouse.js line 115 + src/input/Mouse.js line 115 @@ -1235,9 +1261,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -1294,7 +1322,7 @@
Type:
Source:
- src/input/Mouse.js line 26 + src/input/Mouse.js line 26 @@ -1310,9 +1338,11 @@
Type:
-
-

<protected> input :Phaser.Input

- +
+

+ <protected> input : Phaser.Input + +

@@ -1369,7 +1399,7 @@
Type:
Source:
- src/input/Mouse.js line 32 + src/input/Mouse.js line 32 @@ -1385,9 +1415,11 @@
Type:
-
-

locked :boolean

- +
+

+ locked : boolean + +

@@ -1444,7 +1476,7 @@
Type:
Source:
- src/input/Mouse.js line 95 + src/input/Mouse.js line 95 @@ -1460,9 +1492,11 @@
Type:
-
-

mouseDownCallback :function

- +
+

+ mouseDownCallback : function + +

@@ -1519,7 +1553,7 @@
Type:
Source:
- src/input/Mouse.js line 42 + src/input/Mouse.js line 42 @@ -1535,9 +1569,11 @@
Type:
-
-

mouseOutCallback :function

- +
+

+ mouseOutCallback : function + +

@@ -1594,7 +1630,7 @@
Type:
Source:
- src/input/Mouse.js line 52 + src/input/Mouse.js line 52 @@ -1610,9 +1646,11 @@
Type:
-
-

mouseOverCallback :function

- +
+

+ mouseOverCallback : function + +

@@ -1669,7 +1707,7 @@
Type:
Source:
- src/input/Mouse.js line 57 + src/input/Mouse.js line 57 @@ -1685,9 +1723,11 @@
Type:
-
-

mouseUpCallback :function

- +
+

+ mouseUpCallback : function + +

@@ -1744,7 +1784,7 @@
Type:
Source:
- src/input/Mouse.js line 47 + src/input/Mouse.js line 47 @@ -1760,9 +1800,11 @@
Type:
-
-

mouseWheelCallback :function

- +
+

+ mouseWheelCallback : function + +

@@ -1819,7 +1861,7 @@
Type:
Source:
- src/input/Mouse.js line 62 + src/input/Mouse.js line 62 @@ -1835,9 +1877,11 @@
Type:
-
-

pointerLock :Phaser.Signal

- +
+

+ pointerLock : Phaser.Signal + +

@@ -1894,7 +1938,7 @@
Type:
Source:
- src/input/Mouse.js line 107 + src/input/Mouse.js line 107 @@ -1910,9 +1954,11 @@
Type:
-
-

stopOnGameOut :boolean

- +
+

+ stopOnGameOut : boolean + +

@@ -1969,7 +2015,7 @@
Type:
Source:
- src/input/Mouse.js line 101 + src/input/Mouse.js line 101 @@ -1985,9 +2031,11 @@
Type:
-
-

wheelDelta :number

- +
+

+ wheelDelta : number + +

@@ -2044,7 +2092,7 @@
Type:
Source:
- src/input/Mouse.js line 82 + src/input/Mouse.js line 82 @@ -2067,7 +2115,7 @@

Methods

-

+

onMouseDown(event)

@@ -2172,7 +2220,7 @@
Parameters:
Source:
- src/input/Mouse.js line 296 + src/input/Mouse.js line 296 @@ -2201,7 +2249,7 @@
Parameters:
-

+

onMouseMove(event)

@@ -2306,7 +2354,7 @@
Parameters:
Source:
- src/input/Mouse.js line 326 + src/input/Mouse.js line 326 @@ -2335,7 +2383,7 @@
Parameters:
-

+

onMouseOut(event)

@@ -2440,7 +2488,7 @@
Parameters:
Source:
- src/input/Mouse.js line 445 + src/input/Mouse.js line 445 @@ -2469,7 +2517,7 @@
Parameters:
-

+

onMouseOutGlobal(event)

@@ -2574,7 +2622,7 @@
Parameters:
Source:
- src/input/Mouse.js line 408 + src/input/Mouse.js line 408 @@ -2603,7 +2651,7 @@
Parameters:
-

+

onMouseOver(event)

@@ -2708,7 +2756,7 @@
Parameters:
Source:
- src/input/Mouse.js line 481 + src/input/Mouse.js line 481 @@ -2737,7 +2785,7 @@
Parameters:
-

+

onMouseUp(event)

@@ -2842,7 +2890,7 @@
Parameters:
Source:
- src/input/Mouse.js line 356 + src/input/Mouse.js line 356 @@ -2871,7 +2919,7 @@
Parameters:
-

+

onMouseUpGlobal(event)

@@ -2976,7 +3024,7 @@
Parameters:
Source:
- src/input/Mouse.js line 386 + src/input/Mouse.js line 386 @@ -3005,7 +3053,7 @@
Parameters:
-

+

onMouseWheel(event)

@@ -3110,7 +3158,7 @@
Parameters:
Source:
- src/input/Mouse.js line 505 + src/input/Mouse.js line 505 @@ -3139,7 +3187,7 @@
Parameters:
-

+

pointerLockChange(event)

@@ -3244,7 +3292,7 @@
Parameters:
Source:
- src/input/Mouse.js line 563 + src/input/Mouse.js line 563 @@ -3273,7 +3321,7 @@
Parameters:
-

+

releasePointerLock()

@@ -3328,7 +3376,7 @@

Source:
- src/input/Mouse.js line 588 + src/input/Mouse.js line 588 @@ -3357,7 +3405,7 @@

-

+

requestPointerLock()

@@ -3414,7 +3462,7 @@

Source:
- src/input/Mouse.js line 534 + src/input/Mouse.js line 534 @@ -3443,7 +3491,7 @@

-

+

start()

@@ -3498,7 +3546,7 @@

Source:
- src/input/Mouse.js line 212 + src/input/Mouse.js line 212 @@ -3527,7 +3575,7 @@

-

+

stop()

@@ -3582,7 +3630,7 @@

Source:
- src/input/Mouse.js line 604 + src/input/Mouse.js line 604 @@ -3625,9 +3673,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -3644,9 +3692,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3658,7 +3706,7 @@

- +
@@ -3673,7 +3721,7 @@

- + diff --git a/docs/Phaser.Net.html b/docs/Phaser.Net.html index 9dfa4dc06..12616066a 100644 --- a/docs/Phaser.Net.html +++ b/docs/Phaser.Net.html @@ -6,7 +6,7 @@ Phaser CE Class: Net - + @@ -125,7 +125,7 @@

-

+

new Net(game)

@@ -230,7 +230,7 @@
Parameters:
Source:
- src/net/Net.js line 14 + src/net/Net.js line 14 @@ -277,7 +277,7 @@

Methods

-

+

checkDomainName(domain)

@@ -385,7 +385,7 @@
Parameters:
Source:
- src/net/Net.js line 38 + src/net/Net.js line 38 @@ -438,7 +438,7 @@
Returns:
-

+

decodeURI(value)

@@ -544,7 +544,7 @@
Parameters:
Source:
- src/net/Net.js line 152 + src/net/Net.js line 152 @@ -597,7 +597,7 @@
Returns:
-

+

getHostName()

@@ -652,7 +652,7 @@

Source:
- src/net/Net.js line 22 + src/net/Net.js line 22 @@ -701,7 +701,7 @@
Returns:
-

+

getQueryString( [parameter])

@@ -827,7 +827,7 @@
Parameters:
Source:
- src/net/Net.js line 116 + src/net/Net.js line 116 @@ -883,7 +883,7 @@
Returns:
-

+

updateQueryString(key, value, redirect, url)

@@ -1063,7 +1063,7 @@
Parameters:
Source:
- src/net/Net.js line 52 + src/net/Net.js line 52 @@ -1130,9 +1130,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1149,9 +1149,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1163,7 +1163,7 @@
Returns:
- +
@@ -1178,7 +1178,7 @@
Returns:
- + diff --git a/docs/Phaser.Particle.html b/docs/Phaser.Particle.html index 3a18d7ae1..0e2952daf 100644 --- a/docs/Phaser.Particle.html +++ b/docs/Phaser.Particle.html @@ -6,7 +6,7 @@ Phaser CE Class: Particle - + @@ -125,7 +125,7 @@

-

+

new Particle(game, x, y, key, frame)

@@ -338,7 +338,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 19 + src/gameobjects/Particle.js line 19 @@ -393,9 +393,11 @@

Members

-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -472,7 +474,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -488,9 +490,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -571,7 +575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -587,9 +591,11 @@
Type:
-
-

<protected> alphaData :array

- +
+

+ <protected> alphaData : array + +

@@ -646,7 +652,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 51 + src/gameobjects/Particle.js line 51 @@ -662,9 +668,11 @@
Type:
-
-

anchor :Point

- +
+

+ anchor : Point + +

@@ -734,7 +742,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -750,9 +758,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -823,7 +833,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -839,9 +849,11 @@
Type:
-
-

animations :Phaser.AnimationManager

- +
+

+ animations : Phaser.AnimationManager + +

@@ -908,7 +920,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -931,9 +943,11 @@
Type:
-
-

<protected> autoAlpha :boolean

- +
+

+ <protected> autoAlpha : boolean + +

@@ -990,7 +1004,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 45 + src/gameobjects/Particle.js line 45 @@ -1006,9 +1020,11 @@
Type:
-
-

autoCull :boolean

- +
+

+ autoCull : boolean + +

@@ -1078,7 +1094,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1094,9 +1110,11 @@
Type:
-
-

<protected> autoScale :boolean

- +
+

+ <protected> autoScale : boolean + +

@@ -1153,7 +1171,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 27 + src/gameobjects/Particle.js line 27 @@ -1169,9 +1187,11 @@
Type:
-
-

blendMode :Number

- +
+

+ blendMode : Number + +

@@ -1245,7 +1265,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1261,9 +1281,11 @@
Type:
-
-

body :Phaser.Physics.Arcade.Body|Phaser.Physics.P2.Body|Phaser.Physics.Ninja.Body|null

- +
+

+ body : Phaser.Physics.Arcade.Body | Phaser.Physics.P2.Body | Phaser.Physics.Ninja.Body | null + +

@@ -1346,7 +1368,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1362,9 +1384,11 @@
Type:
-
-

bottom :number

- +
+

+ bottom : number + +

@@ -1431,7 +1455,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1447,9 +1471,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -1522,7 +1548,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1538,9 +1564,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -1607,7 +1635,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1623,9 +1651,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -1692,7 +1722,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1708,9 +1738,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -1777,7 +1809,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1793,9 +1825,11 @@
Type:
-
-

checkWorldBounds :boolean

- +
+

+ checkWorldBounds : boolean + +

@@ -1867,7 +1901,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1883,9 +1917,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1951,7 +1987,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1967,9 +2003,11 @@
Type:
-
-

<protected> components :object

- +
+

+ <protected> components : object + +

@@ -2035,7 +2073,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2051,9 +2089,11 @@
Type:
-
-

cropRect :Phaser.Rectangle

- +
+

+ cropRect : Phaser.Rectangle + +

@@ -2121,7 +2161,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2137,9 +2177,11 @@
Type:
-
-

data :Object

- +
+

+ data : Object + +

@@ -2215,7 +2257,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2231,9 +2273,11 @@
Type:
-
-

debug :boolean

- +
+

+ debug : boolean + +

@@ -2299,7 +2343,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2315,9 +2359,11 @@
Type:
-
-

<readonly> deltaX :number

- +
+

+ <readonly> deltaX : number + +

@@ -2384,7 +2430,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2400,9 +2446,11 @@
Type:
-
-

<readonly> deltaY :number

- +
+

+ <readonly> deltaY : number + +

@@ -2469,7 +2517,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2485,9 +2533,11 @@
Type:
-
-

<readonly> deltaZ :number

- +
+

+ <readonly> deltaZ : number + +

@@ -2553,7 +2603,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2569,9 +2619,11 @@
Type:
-
-

<readonly> destroyPhase :boolean

- +
+

+ <readonly> destroyPhase : boolean + +

@@ -2638,7 +2690,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2654,9 +2706,11 @@
Type:
-
-

events :Phaser.Events

- +
+

+ events : Phaser.Events + +

@@ -2723,7 +2777,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2746,9 +2800,11 @@
Type:
-
-

exists :Boolean

- +
+

+ exists : Boolean + +

@@ -2821,7 +2877,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2837,9 +2893,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -2905,7 +2963,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2921,9 +2979,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -2994,7 +3054,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -3010,9 +3070,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -3085,7 +3147,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3101,9 +3163,11 @@
Type:
-
-

frame :integer

- +
+

+ frame : integer + +

@@ -3174,7 +3238,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3190,9 +3254,11 @@
Type:
-
-

frameName :string

- +
+

+ frameName : string + +

@@ -3263,7 +3329,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3279,9 +3345,11 @@
Type:
-
-

<readonly> fresh :boolean

- +
+

+ <readonly> fresh : boolean + +

@@ -3348,7 +3416,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3364,9 +3432,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -3432,7 +3502,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3448,9 +3518,11 @@
Type:
-
-

health :number

- +
+

+ health : number + +

@@ -3524,7 +3596,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3540,9 +3612,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -3618,7 +3692,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3634,9 +3708,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -3704,7 +3780,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3720,9 +3796,11 @@
Type:
-
-

<readonly> inCamera :boolean

- +
+

+ <readonly> inCamera : boolean + +

@@ -3789,7 +3867,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3805,9 +3883,11 @@
Type:
-
-

input :Phaser.InputHandler|null

- +
+

+ input : Phaser.InputHandler | null + +

@@ -3878,7 +3958,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3894,9 +3974,11 @@
Type:
-
-

inputEnabled :boolean

- +
+

+ inputEnabled : boolean + +

@@ -3969,7 +4051,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3985,9 +4067,11 @@
Type:
-
-

<readonly> inWorld :boolean

- +
+

+ <readonly> inWorld : boolean + +

@@ -4053,7 +4137,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -4069,9 +4153,11 @@
Type:
-
-

key :string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture

- +
+

+ key : string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture + +

@@ -4153,7 +4239,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4169,9 +4255,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -4238,7 +4326,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4254,9 +4342,11 @@
Type:
-
-

lifespan :number

- +
+

+ lifespan : number + +

@@ -4326,7 +4416,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4342,9 +4432,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -4413,7 +4505,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4429,9 +4521,11 @@
Type:
-
-

maxHealth :number

- +
+

+ maxHealth : number + +

@@ -4505,7 +4599,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4521,9 +4615,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -4590,7 +4686,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4606,9 +4702,11 @@
Type:
-
-

<readonly> offsetX :number

- +
+

+ <readonly> offsetX : number + +

@@ -4676,7 +4774,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4692,9 +4790,11 @@
Type:
-
-

<readonly> offsetY :number

- +
+

+ <readonly> offsetY : number + +

@@ -4762,7 +4862,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4778,9 +4878,11 @@
Type:
-
-

outOfBoundsKill :boolean

- +
+

+ outOfBoundsKill : boolean + +

@@ -4846,7 +4948,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4862,9 +4964,11 @@
Type:
-
-

outOfCameraBoundsKill :boolean

- +
+

+ outOfCameraBoundsKill : boolean + +

@@ -4931,7 +5035,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4947,9 +5051,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -5018,7 +5124,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5034,9 +5140,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -5105,7 +5213,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5121,9 +5229,11 @@
Type:
-
-

<readonly> physicsType :number

- +
+

+ <readonly> physicsType : number + +

@@ -5189,7 +5299,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5205,9 +5315,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -5274,7 +5386,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5290,9 +5402,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -5360,7 +5474,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5376,9 +5490,11 @@
Type:
-
-

<readonly> previousPosition :Phaser.Point

- +
+

+ <readonly> previousPosition : Phaser.Point + +

@@ -5444,7 +5560,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5460,9 +5576,11 @@
Type:
-
-

<readonly> previousRotation :number

- +
+

+ <readonly> previousRotation : number + +

@@ -5528,7 +5646,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5544,9 +5662,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -5613,7 +5733,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5629,9 +5749,11 @@
Type:
-
-

<readonly> renderOrderID :number

- +
+

+ <readonly> renderOrderID : number + +

@@ -5698,7 +5820,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5714,9 +5836,11 @@
Type:
-
+
@@ -5783,7 +5907,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5799,9 +5923,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -5870,7 +5996,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5886,9 +6012,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -5957,7 +6085,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5973,9 +6101,11 @@
Type:
-
-

<protected> scaleData :array

- +
+

+ <protected> scaleData : array + +

@@ -6032,7 +6162,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 33 + src/gameobjects/Particle.js line 33 @@ -6048,9 +6178,11 @@
Type:
-
-

scaleMax :Phaser.Point

- +
+

+ scaleMax : Phaser.Point + +

@@ -6118,7 +6250,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6134,9 +6266,11 @@
Type:
-
-

scaleMin :Phaser.Point

- +
+

+ scaleMin : Phaser.Point + +

@@ -6204,7 +6338,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6220,9 +6354,11 @@
Type:
-
-

shader :Phaser.Filter

- +
+

+ shader : Phaser.Filter + +

@@ -6296,7 +6432,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6312,9 +6448,11 @@
Type:
-
-

smoothed :boolean

- +
+

+ smoothed : boolean + +

@@ -6382,7 +6520,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6398,9 +6536,11 @@
Type:
-
-

texture :Texture

- +
+

+ texture : Texture + +

@@ -6466,7 +6606,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6482,9 +6622,11 @@
Type:
-
-

tint :Number

- +
+

+ tint : Number + +

@@ -6557,7 +6699,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6573,9 +6715,11 @@
Type:
-
-

tintedTexture :Canvas

- +
+

+ tintedTexture : Canvas + +

@@ -6648,7 +6792,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6664,9 +6808,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -6733,7 +6879,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6749,9 +6895,11 @@
Type:
-
-

transformCallback :function

- +
+

+ transformCallback : function + +

@@ -6817,7 +6965,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6833,9 +6981,11 @@
Type:
-
-

transformCallbackContext :object

- +
+

+ transformCallbackContext : object + +

@@ -6901,7 +7051,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6917,9 +7067,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -6985,7 +7137,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7001,9 +7153,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -7081,7 +7235,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7097,9 +7251,11 @@
Type:
-
-

world :Phaser.Point

- +
+

+ world : Phaser.Point + +

@@ -7167,7 +7323,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7183,9 +7339,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -7257,7 +7415,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7273,9 +7431,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -7346,7 +7506,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7362,9 +7522,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -7435,7 +7597,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7451,9 +7613,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -7524,7 +7688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7540,9 +7704,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -7613,7 +7779,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7629,9 +7795,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -7697,7 +7865,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7713,9 +7881,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -7782,7 +7952,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7798,9 +7968,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -7867,7 +8039,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7883,9 +8055,11 @@
Type:
-
-

<readonly> z :number

- +
+

+ <readonly> z : number + +

@@ -7954,7 +8128,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7977,7 +8151,7 @@

Methods

-

+

addChild(child)

@@ -8091,7 +8265,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8144,7 +8318,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -8282,7 +8456,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8335,7 +8509,7 @@
Returns:
-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -8625,7 +8799,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8678,7 +8852,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -8969,7 +9143,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9022,7 +9196,7 @@
Returns:
-

+

bringToTop()

@@ -9089,7 +9263,7 @@

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

+

contains(child)

@@ -9256,7 +9430,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9305,7 +9479,7 @@
Returns:
-

+

crop(rect [, copy])

@@ -9482,7 +9656,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9511,7 +9685,7 @@
Parameters:
-

+

damage(amount)

@@ -9626,7 +9800,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9679,7 +9853,7 @@
Returns:
-

+

destroy()

@@ -9745,7 +9919,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -9774,7 +9948,7 @@

-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -9990,7 +10164,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10045,7 +10219,7 @@
Returns:
-

+

getBounds(matrix)

@@ -10166,7 +10340,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10219,7 +10393,7 @@
Returns:
-

+

getChildAt(index)

@@ -10333,7 +10507,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10386,7 +10560,7 @@
Returns:
-

+

getChildIndex(child)

@@ -10500,7 +10674,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10553,7 +10727,7 @@
Returns:
-

+

getLocalBounds()

@@ -10617,7 +10791,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10670,7 +10844,7 @@
Returns:
-

+

heal(amount)

@@ -10784,7 +10958,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -10837,7 +11011,7 @@
Returns:
-

+

kill()

@@ -10905,7 +11079,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -10958,7 +11132,7 @@
Returns:
-

+

loadTexture(key [, frame] [, stopAnimation])

@@ -11190,7 +11364,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11219,7 +11393,7 @@
Parameters:
-

+

moveDown()

@@ -11286,7 +11460,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11339,7 +11513,7 @@
Returns:
-

+

moveUp()

@@ -11406,7 +11580,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11459,7 +11633,7 @@
Returns:
-

+

onEmit()

@@ -11514,7 +11688,7 @@

Source:
- src/gameobjects/Particle.js line 102 + src/gameobjects/Particle.js line 102 @@ -11543,7 +11717,7 @@

-

+

overlap(displayObject)

@@ -11673,7 +11847,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11726,7 +11900,7 @@
Returns:
-

+

play(name [, frameRate] [, loop] [, killOnComplete])

@@ -11979,7 +12153,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12032,7 +12206,7 @@
Returns:
-

+

<protected> postUpdate()

@@ -12096,7 +12270,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12125,7 +12299,7 @@

-

+

preUpdate()

@@ -12189,7 +12363,7 @@

Source:
- src/gameobjects/Sprite.js line 107 + src/gameobjects/Sprite.js line 107 @@ -12242,7 +12416,7 @@
Returns:
-

+

<protected> preUpdateChildren()

@@ -12306,7 +12480,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12335,7 +12509,7 @@

-

+

removeChild(child)

@@ -12449,7 +12623,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12502,7 +12676,7 @@
Returns:
-

+

removeChildAt(index)

@@ -12616,7 +12790,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12669,7 +12843,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -12807,7 +12981,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -12836,7 +13010,7 @@
Parameters:
-

+

reset(x, y [, health])

@@ -13040,7 +13214,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 141 + src/gameobjects/Particle.js line 141 @@ -13093,7 +13267,7 @@
Returns:
-

+

resetFrame()

@@ -13157,7 +13331,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13186,7 +13360,7 @@

-

+

resizeFrame(parent, width, height)

@@ -13350,7 +13524,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13379,7 +13553,7 @@
Parameters:
-

+

revive( [health])

@@ -13515,7 +13689,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -13568,7 +13742,7 @@
Returns:
-

+

sendToBack()

@@ -13635,7 +13809,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13688,7 +13862,7 @@
Returns:
-

+

setAlphaData()

@@ -13743,7 +13917,7 @@

Source:
- src/gameobjects/Particle.js line 111 + src/gameobjects/Particle.js line 111 @@ -13772,7 +13946,7 @@

-

+

setChildIndex(child, index)

@@ -13910,7 +14084,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -13939,7 +14113,7 @@
Parameters:
-

+

setFrame(frame)

@@ -14054,7 +14228,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -14083,7 +14257,7 @@
Parameters:
-

+

setHealth(amount)

@@ -14198,7 +14372,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14251,7 +14425,7 @@
Returns:
-

+

setScaleData()

@@ -14306,7 +14480,7 @@

Source:
- src/gameobjects/Particle.js line 126 + src/gameobjects/Particle.js line 126 @@ -14335,7 +14509,7 @@

-

+

setScaleMinMax(minX, minY, maxX, maxY)

@@ -14543,7 +14717,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -14572,7 +14746,7 @@
Parameters:
-

+

setTexture(texture [, destroy])

@@ -14743,7 +14917,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -14772,7 +14946,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -14910,7 +15084,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14939,7 +15113,7 @@
Parameters:
-

+

toGlobal(position)

@@ -15053,7 +15227,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15108,7 +15282,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -15266,7 +15440,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -15321,7 +15495,7 @@
Returns:
-

+

update()

@@ -15381,7 +15555,7 @@

Source:
- src/gameobjects/Particle.js line 64 + src/gameobjects/Particle.js line 64 @@ -15410,7 +15584,7 @@

-

+

updateCache()

@@ -15474,7 +15648,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15529,7 +15703,7 @@
Returns:
-

+

updateCrop()

@@ -15594,7 +15768,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -15623,7 +15797,7 @@

-

+

updateTransform( [parent])

@@ -15757,7 +15931,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15826,9 +16000,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -15845,9 +16019,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -15859,7 +16033,7 @@
Returns:
- +
@@ -15874,7 +16048,7 @@
Returns:
- + diff --git a/docs/Phaser.Particles.Arcade.Emitter.html b/docs/Phaser.Particles.Arcade.Emitter.html index 4bf197526..3492b8579 100644 --- a/docs/Phaser.Particles.Arcade.Emitter.html +++ b/docs/Phaser.Particles.Arcade.Emitter.html @@ -6,7 +6,7 @@ Phaser CE Class: Emitter - + @@ -125,7 +125,7 @@

-

+

new Emitter(game [, x] [, y] [, maxParticles])

@@ -368,7 +368,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 20 + src/particles/arcade/Emitter.js line 20 @@ -423,9 +423,11 @@

Members

-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -503,7 +505,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -519,9 +521,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -587,7 +591,7 @@
Type:
Source:
- src/core/Group.js line 3167 + src/core/Group.js line 3167 @@ -603,9 +607,11 @@
Type:
-
-

alphaData :array

- +
+

+ alphaData : array + +

@@ -662,7 +668,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 139 + src/particles/arcade/Emitter.js line 139 @@ -678,9 +684,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -749,7 +757,7 @@
Type:
Source:
- src/core/Group.js line 2827 + src/core/Group.js line 2827 @@ -765,9 +773,11 @@
Type:
-
-

angularDrag :number

- +
+

+ angularDrag : number + +

@@ -824,7 +834,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 156 + src/particles/arcade/Emitter.js line 156 @@ -840,9 +850,11 @@
Type:
-
-

area :Phaser.Rectangle

- +
+

+ area : Phaser.Rectangle + +

@@ -899,7 +911,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 57 + src/particles/arcade/Emitter.js line 57 @@ -915,9 +927,11 @@
Type:
-
-

autoAlpha :boolean

- +
+

+ autoAlpha : boolean + +

@@ -974,7 +988,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 217 + src/particles/arcade/Emitter.js line 217 @@ -990,9 +1004,11 @@
Type:
-
-

autoScale :boolean

- +
+

+ autoScale : boolean + +

@@ -1049,7 +1065,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 212 + src/particles/arcade/Emitter.js line 212 @@ -1065,9 +1081,11 @@
Type:
-
-

blendMode :number

- +
+

+ blendMode : number + +

@@ -1124,7 +1142,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 191 + src/particles/arcade/Emitter.js line 191 @@ -1140,9 +1158,11 @@
Type:
-
-

<readonly> bottom :number

- +
+

+ <readonly> bottom : number + +

@@ -1204,7 +1224,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1142 + src/particles/arcade/Emitter.js line 1149 @@ -1220,9 +1240,11 @@
Type:
-
-

bounce :Phaser.Point

- +
+

+ bounce : Phaser.Point + +

@@ -1279,7 +1301,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 173 + src/particles/arcade/Emitter.js line 173 @@ -1295,9 +1317,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -1370,7 +1394,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1386,9 +1410,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -1455,7 +1481,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1471,9 +1497,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -1541,7 +1569,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1557,9 +1585,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -1627,7 +1657,7 @@
Type:
Source:
- src/core/Group.js line 2878 + src/core/Group.js line 2878 @@ -1643,9 +1673,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1711,7 +1743,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1727,9 +1759,11 @@
Type:
-
-

classType :function

- +
+

+ classType : function + +

@@ -1803,7 +1837,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1819,10 +1853,87 @@
Type:
-
-

count

+
+

+ count + deprecated +

+ +
+
+ +
+

Alias for counts. Will be removed in a future release.

+
+ + + +
+ + + + + + + + + + + + + + + + + +
Deprecated:
+ +
+
    +
  • Use #counts instead.
  • +
+
+ + + + + + + + + + + + + + +
Source:
+
+ + src/particles/arcade/Emitter.js line 250 + + + + + + + +
+ + + +
+ + + +
+

+ counts + +

+
@@ -1859,7 +1970,7 @@
Properties:
- count + counts @@ -2037,7 +2148,7 @@
Properties
Source:
- src/particles/arcade/Emitter.js line 238 + src/particles/arcade/Emitter.js line 238 @@ -2053,9 +2164,11 @@
Properties
-
-

cursor :DisplayObject

- +
+

+ cursor : DisplayObject + +

@@ -2122,7 +2235,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -2138,9 +2251,11 @@
Type:
-
-

<readonly> cursorIndex :integer

- +
+

+ <readonly> cursorIndex : integer + +

@@ -2206,7 +2321,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -2222,9 +2337,11 @@
Type:
-
-

emitX :number

- +
+

+ emitX : number + +

@@ -2283,7 +2400,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 199 + src/particles/arcade/Emitter.js line 199 @@ -2299,9 +2416,11 @@
Type:
-
-

emitY :number

- +
+

+ emitY : number + +

@@ -2360,7 +2479,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 207 + src/particles/arcade/Emitter.js line 207 @@ -2376,9 +2495,11 @@
Type:
-
-

enableBody :boolean

- +
+

+ enableBody : boolean + +

@@ -2446,7 +2567,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -2462,9 +2583,11 @@
Type:
-
-

enableBodyDebug :boolean

- +
+

+ enableBodyDebug : boolean + +

@@ -2531,7 +2654,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -2547,9 +2670,11 @@
Type:
-
-

exists :boolean

- +
+

+ exists : boolean + +

@@ -2627,7 +2752,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2643,9 +2768,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -2711,7 +2838,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2727,9 +2854,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -2800,7 +2929,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2816,9 +2945,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -2886,7 +3017,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2902,9 +3033,11 @@
Type:
-
-

frequency :number

- +
+

+ frequency : number + +

@@ -2968,7 +3101,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 162 + src/particles/arcade/Emitter.js line 162 @@ -2984,9 +3117,11 @@
Type:
-
-

<protected> game :Phaser.Game

- +
+

+ <protected> game : Phaser.Game + +

@@ -3052,7 +3187,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -3068,9 +3203,11 @@
Type:
-
-

gravity :Phaser.Point

- +
+

+ gravity : Phaser.Point + +

@@ -3127,7 +3264,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1005 + src/particles/arcade/Emitter.js line 1012 @@ -3143,9 +3280,11 @@
Type:
-
-

hash :array

- +
+

+ hash : array + +

@@ -3215,7 +3354,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -3231,9 +3370,11 @@
Type:
-
-

height :number

- +
+

+ height : number + +

@@ -3290,7 +3431,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1055 + src/particles/arcade/Emitter.js line 1062 @@ -3306,9 +3447,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -3384,7 +3527,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3400,9 +3543,11 @@
Type:
-
-

id :number

- +
+

+ id : number + +

@@ -3459,7 +3604,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1029 + src/particles/arcade/Emitter.js line 1036 @@ -3475,9 +3620,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -3545,7 +3692,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3561,9 +3708,11 @@
Type:
-
-

ignoreDestroy :boolean

- +
+

+ ignoreDestroy : boolean + +

@@ -3629,7 +3778,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -3645,9 +3794,11 @@
Type:
-
-

inputEnableChildren :boolean

- +
+

+ inputEnableChildren : boolean + +

@@ -3715,7 +3866,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -3731,9 +3882,11 @@
Type:
-
-

<readonly> left :number

- +
+

+ <readonly> left : number + +

@@ -3795,7 +3948,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1103 + src/particles/arcade/Emitter.js line 1110 @@ -3811,9 +3964,11 @@
Type:
-
-

<readonly> length :integer

- +
+

+ <readonly> length : integer + +

@@ -3879,7 +4034,7 @@
Type:
Source:
- src/core/Group.js line 2810 + src/core/Group.js line 2810 @@ -3895,9 +4050,11 @@
Type:
-
-

lifespan :number

- +
+

+ lifespan : number + +

@@ -3961,7 +4118,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 168 + src/particles/arcade/Emitter.js line 168 @@ -3977,9 +4134,11 @@
Type:
-
-

<readonly> lifespanOutput :number

- +
+

+ <readonly> lifespanOutput : number + +

@@ -4036,7 +4195,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1168 + src/particles/arcade/Emitter.js line 1175 @@ -4052,9 +4211,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -4123,7 +4284,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4139,9 +4300,11 @@
Type:
-
-

maxAngle :number

- +
+

+ maxAngle : number + +

@@ -4198,7 +4361,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 69 + src/particles/arcade/Emitter.js line 69 @@ -4214,9 +4377,11 @@
Type:
-
-

maxParticleAlpha :number

- +
+

+ maxParticleAlpha : number + +

@@ -4280,7 +4445,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 134 + src/particles/arcade/Emitter.js line 134 @@ -4296,9 +4461,11 @@
Type:
-
-

maxParticles :number

- +
+

+ maxParticles : number + +

@@ -4355,7 +4522,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 26 + src/particles/arcade/Emitter.js line 26 @@ -4371,9 +4538,11 @@
Type:
-
-

maxParticleScale :number

- +
+

+ maxParticleScale : number + +

@@ -4437,7 +4606,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 105 + src/particles/arcade/Emitter.js line 105 @@ -4453,9 +4622,11 @@
Type:
-
-

maxParticleSpeed :Phaser.Point

- +
+

+ maxParticleSpeed : Phaser.Point + +

@@ -4512,7 +4683,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 93 + src/particles/arcade/Emitter.js line 93 @@ -4528,9 +4699,11 @@
Type:
-
-

maxRotation :number

- +
+

+ maxRotation : number + +

@@ -4594,7 +4767,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 122 + src/particles/arcade/Emitter.js line 122 @@ -4610,9 +4783,11 @@
Type:
-
-

maxSpeed :number

- +
+

+ maxSpeed : number + +

@@ -4676,7 +4851,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 81 + src/particles/arcade/Emitter.js line 81 @@ -4692,9 +4867,11 @@
Type:
-
-

minAngle :number

- +
+

+ minAngle : number + +

@@ -4751,7 +4928,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 63 + src/particles/arcade/Emitter.js line 63 @@ -4767,9 +4944,11 @@
Type:
-
-

minParticleAlpha :number

- +
+

+ minParticleAlpha : number + +

@@ -4833,7 +5012,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 128 + src/particles/arcade/Emitter.js line 128 @@ -4849,9 +5028,11 @@
Type:
-
-

minParticleScale :number

- +
+

+ minParticleScale : number + +

@@ -4915,7 +5096,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 99 + src/particles/arcade/Emitter.js line 99 @@ -4931,9 +5112,11 @@
Type:
-
-

minParticleSpeed :Phaser.Point

- +
+

+ minParticleSpeed : Phaser.Point + +

@@ -4990,7 +5173,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 87 + src/particles/arcade/Emitter.js line 87 @@ -5006,9 +5189,11 @@
Type:
-
-

minRotation :number

- +
+

+ minRotation : number + +

@@ -5065,7 +5250,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 116 + src/particles/arcade/Emitter.js line 116 @@ -5081,9 +5266,11 @@
Type:
-
-

minSpeed :number

- +
+

+ minSpeed : number + +

@@ -5140,7 +5327,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 75 + src/particles/arcade/Emitter.js line 75 @@ -5156,9 +5343,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -5220,7 +5409,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 39 + src/particles/arcade/Emitter.js line 39 @@ -5236,9 +5425,11 @@
Type:
-
-

on :boolean

- +
+

+ on : boolean + +

@@ -5295,7 +5486,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 179 + src/particles/arcade/Emitter.js line 179 @@ -5311,9 +5502,11 @@
Type:
-
-

onChildInputDown :Phaser.Signal

- +
+

+ onChildInputDown : Phaser.Signal + +

@@ -5383,7 +5576,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -5399,9 +5592,11 @@
Type:
-
-

onChildInputOut :Phaser.Signal

- +
+

+ onChildInputOut : Phaser.Signal + +

@@ -5471,7 +5666,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -5487,9 +5682,11 @@
Type:
-
-

onChildInputOver :Phaser.Signal

- +
+

+ onChildInputOver : Phaser.Signal + +

@@ -5559,7 +5756,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -5575,9 +5772,11 @@
Type:
-
-

onChildInputUp :Phaser.Signal

- +
+

+ onChildInputUp : Phaser.Signal + +

@@ -5648,7 +5847,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -5664,9 +5863,11 @@
Type:
-
-

onDestroy :Phaser.Signal

- +
+

+ onDestroy : Phaser.Signal + +

@@ -5732,7 +5933,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -5748,9 +5949,11 @@
Type:
-
-

<readonly> output :number

- +
+

+ <readonly> output : number + +

@@ -5807,7 +6010,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1155 + src/particles/arcade/Emitter.js line 1162 @@ -5823,9 +6026,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -5894,7 +6099,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5910,9 +6115,11 @@
Type:
-
-

particleAnchor :Phaser.Point

- +
+

+ particleAnchor : Phaser.Point + +

@@ -5969,7 +6176,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 185 + src/particles/arcade/Emitter.js line 185 @@ -5985,9 +6192,11 @@
Type:
-
-

particleBringToTop :boolean

- +
+

+ particleBringToTop : boolean + +

@@ -6044,7 +6253,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 223 + src/particles/arcade/Emitter.js line 223 @@ -6060,9 +6269,11 @@
Type:
-
-

particleClass :function

- +
+

+ particleClass : function + +

@@ -6119,7 +6330,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 145 + src/particles/arcade/Emitter.js line 145 @@ -6135,9 +6346,11 @@
Type:
-
-

particleDrag :Phaser.Point

- +
+

+ particleDrag : Phaser.Point + +

@@ -6194,7 +6407,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 150 + src/particles/arcade/Emitter.js line 150 @@ -6210,9 +6423,11 @@
Type:
-
-

particleSendToBack :boolean

- +
+

+ particleSendToBack : boolean + +

@@ -6269,7 +6484,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 229 + src/particles/arcade/Emitter.js line 229 @@ -6285,9 +6500,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -6357,7 +6574,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -6373,9 +6590,11 @@
Type:
-
-

physicsBodyType :integer

- +
+

+ physicsBodyType : integer + +

@@ -6442,7 +6661,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -6458,9 +6677,11 @@
Type:
-
-

physicsSortDirection :integer

- +
+

+ physicsSortDirection : integer + +

@@ -6533,7 +6754,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -6549,9 +6770,11 @@
Type:
-
-

<readonly> physicsType :number

- +
+

+ <readonly> physicsType : number + +

@@ -6613,7 +6836,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 51 + src/particles/arcade/Emitter.js line 51 @@ -6629,9 +6852,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -6698,7 +6923,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -6714,9 +6939,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -6784,7 +7011,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -6800,9 +7027,11 @@
Type:
-
-

<readonly> remainder :number

- +
+

+ <readonly> remainder : number + +

@@ -6859,7 +7088,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1181 + src/particles/arcade/Emitter.js line 1188 @@ -6875,9 +7104,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -6944,7 +7175,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -6960,9 +7191,11 @@
Type:
-
+
@@ -7024,7 +7257,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1116 + src/particles/arcade/Emitter.js line 1123 @@ -7040,9 +7273,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -7110,7 +7345,7 @@
Type:
Source:
- src/core/Group.js line 3151 + src/core/Group.js line 3151 @@ -7126,9 +7361,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -7197,7 +7434,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -7213,9 +7450,11 @@
Type:
-
-

scaleData :array

- +
+

+ scaleData : array + +

@@ -7272,7 +7511,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 110 + src/particles/arcade/Emitter.js line 110 @@ -7288,9 +7527,11 @@
Type:
-
-

<readonly> top :number

- +
+

+ <readonly> top : number + +

@@ -7352,7 +7593,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1129 + src/particles/arcade/Emitter.js line 1136 @@ -7368,9 +7609,11 @@
Type:
-
-

<readonly> total :integer

- +
+

+ <readonly> total : integer + +

@@ -7436,7 +7679,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -7452,9 +7695,11 @@
Type:
-
-

<protected> type :number

- +
+

+ <protected> type : number + +

@@ -7516,7 +7761,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 45 + src/particles/arcade/Emitter.js line 45 @@ -7532,9 +7777,11 @@
Type:
-
-

updateOnlyExistingChildren :boolean

- +
+

+ updateOnlyExistingChildren : boolean + +

@@ -7600,7 +7847,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -7616,9 +7863,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -7689,7 +7938,7 @@
Type:
Source:
- src/core/Group.js line 3160 + src/core/Group.js line 3160 @@ -7705,9 +7954,11 @@
Type:
-
-

width :number

- +
+

+ width : number + +

@@ -7764,7 +8015,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1039 + src/particles/arcade/Emitter.js line 1046 @@ -7780,9 +8031,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -7854,7 +8107,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7870,9 +8123,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -7943,7 +8198,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7959,9 +8214,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -8032,7 +8289,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -8048,9 +8305,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -8121,7 +8380,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -8137,9 +8396,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -8210,7 +8471,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -8226,9 +8487,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -8294,7 +8557,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -8310,9 +8573,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -8374,7 +8639,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1071 + src/particles/arcade/Emitter.js line 1078 @@ -8390,9 +8655,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -8454,7 +8721,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1087 + src/particles/arcade/Emitter.js line 1094 @@ -8470,9 +8737,11 @@
Type:
-
-

<readonly> z :integer

- +
+

+ <readonly> z : integer + +

@@ -8539,7 +8808,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -8562,7 +8831,7 @@

Methods

-

+

add(child [, silent] [, index])

@@ -8777,7 +9046,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -8830,7 +9099,7 @@
Returns:
-

+

addAll(property, amount [, checkAlive] [, checkVisible])

@@ -9055,7 +9324,7 @@
Parameters:
Source:
- src/core/Group.js line 1431 + src/core/Group.js line 1431 @@ -9084,7 +9353,7 @@
Parameters:
-

+

addAt(child [, index] [, silent])

@@ -9297,7 +9566,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -9350,7 +9619,7 @@
Returns:
-

+

addChild(child)

@@ -9464,7 +9733,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -9517,7 +9786,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -9655,7 +9924,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -9708,7 +9977,7 @@
Returns:
-

+

addMultiple(children [, silent])

@@ -9886,7 +10155,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -9942,7 +10211,7 @@
Returns:
-

+

addToHash(child)

@@ -10057,7 +10326,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -10110,7 +10379,7 @@
Returns:
-

+

align(width, height, cellWidth, cellHeight [, position] [, offset])

@@ -10452,7 +10721,7 @@
Parameters:
Source:
- src/core/Group.js line 689 + src/core/Group.js line 689 @@ -10505,7 +10774,7 @@
Returns:
-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -10795,7 +11064,7 @@
Parameters:
Source:
- src/core/Group.js line 3018 + src/core/Group.js line 3018 @@ -10848,7 +11117,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -11139,7 +11408,7 @@
Parameters:
Source:
- src/core/Group.js line 3060 + src/core/Group.js line 3060 @@ -11192,7 +11461,7 @@
Returns:
-

+

<protected> ascendingSortHandler(a, b)

@@ -11330,7 +11599,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -11359,7 +11628,7 @@
Parameters:
-

+

at(object)

@@ -11480,7 +11749,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 980 + src/particles/arcade/Emitter.js line 987 @@ -11533,7 +11802,7 @@
Returns:
-

+

bringToTop(child)

@@ -11647,7 +11916,7 @@
Parameters:
Source:
- src/core/Group.js line 914 + src/core/Group.js line 914 @@ -11700,7 +11969,7 @@
Returns:
-

+

callAll(method [, context], args)

@@ -11910,7 +12179,7 @@
Parameters:
Source:
- src/core/Group.js line 1621 + src/core/Group.js line 1621 @@ -11939,7 +12208,7 @@
Parameters:
-

+

callAllExists(callback, existsValue, parameter)

@@ -12130,7 +12399,7 @@
Parameters:
Source:
- src/core/Group.js line 1537 + src/core/Group.js line 1537 @@ -12159,7 +12428,7 @@
Parameters:
-

+

<protected> callbackFromArray(child, callback, length)

@@ -12321,7 +12590,7 @@
Parameters:
Source:
- src/core/Group.js line 1571 + src/core/Group.js line 1571 @@ -12350,7 +12619,7 @@
Parameters:
-

+

checkAll(key, value [, checkAlive] [, checkVisible] [, force])

@@ -12637,7 +12906,7 @@
Parameters:
Source:
- src/core/Group.js line 1361 + src/core/Group.js line 1361 @@ -12692,7 +12961,7 @@
Returns:
-

+

checkAny(key, value [, checkAlive] [, checkVisible])

@@ -12939,7 +13208,7 @@
Parameters:
Source:
- src/core/Group.js line 1397 + src/core/Group.js line 1397 @@ -12994,7 +13263,7 @@
Returns:
-

+

checkProperty(child, key, value [, force])

@@ -13236,7 +13505,7 @@
Parameters:
Source:
- src/core/Group.js line 1224 + src/core/Group.js line 1224 @@ -13289,7 +13558,7 @@
Returns:
-

+

contains(child)

@@ -13403,7 +13672,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -13452,7 +13721,7 @@
Returns:
-

+

countDead()

@@ -13516,7 +13785,7 @@

Source:
- src/core/Group.js line 2443 + src/core/Group.js line 2443 @@ -13569,7 +13838,7 @@
Returns:
-

+

countLiving()

@@ -13633,7 +13902,7 @@

Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -13686,7 +13955,7 @@
Returns:
-

+

create(x, y [, key] [, frame] [, exists] [, index])

@@ -14027,7 +14296,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -14080,7 +14349,7 @@
Returns:
-

+

createMultiple(quantity, key [, frame] [, exists])

@@ -14358,7 +14627,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -14411,7 +14680,7 @@
Returns:
-

+

customSort(sortHandler [, context])

@@ -14571,7 +14840,7 @@
Parameters:
Source:
- src/core/Group.js line 2000 + src/core/Group.js line 2000 @@ -14600,7 +14869,7 @@
Parameters:
-

+

<protected> descendingSortHandler(a, b)

@@ -14738,7 +15007,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -14767,7 +15036,7 @@
Parameters:
-

+

destroy()

@@ -14827,7 +15096,7 @@

Source:
- src/particles/arcade/Emitter.js line 773 + src/particles/arcade/Emitter.js line 780 @@ -14856,7 +15125,7 @@

-

+

divideAll(property, amount, checkAlive, checkVisible)

@@ -15043,7 +15312,7 @@
Parameters:
Source:
- src/core/Group.js line 1482 + src/core/Group.js line 1482 @@ -15072,7 +15341,7 @@
Parameters:
-

+

emitParticle( [x] [, y] [, key] [, frame])

@@ -15308,7 +15577,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 619 + src/particles/arcade/Emitter.js line 626 @@ -15361,7 +15630,7 @@
Returns:
-

+

explode( [lifespan] [, quantity])

@@ -15526,7 +15795,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 478 + src/particles/arcade/Emitter.js line 485 @@ -15579,7 +15848,7 @@
Returns:
-

+

filter(predicate [, checkExists])

@@ -15754,7 +16023,7 @@
Parameters:
Source:
- src/core/Group.js line 1782 + src/core/Group.js line 1782 @@ -15807,7 +16076,7 @@
Returns:
-

+

flow( [lifespan] [, frequency] [, quantity] [, total] [, immediate])

@@ -16098,7 +16367,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 500 + src/particles/arcade/Emitter.js line 507 @@ -16151,7 +16420,7 @@
Returns:
-

+

forEach(callback, callbackContext [, checkExists] [, args])

@@ -16402,7 +16671,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -16431,7 +16700,7 @@
Parameters:
-

+

forEachAlive(callback, callbackContext [, args])

@@ -16640,7 +16909,7 @@
Parameters:
Source:
- src/core/Group.js line 1904 + src/core/Group.js line 1904 @@ -16669,7 +16938,7 @@
Parameters:
-

+

forEachDead(callback, callbackContext [, args])

@@ -16878,7 +17147,7 @@
Parameters:
Source:
- src/core/Group.js line 1932 + src/core/Group.js line 1932 @@ -16907,7 +17176,7 @@
Parameters:
-

+

forEachExists(callback, callbackContext [, args])

@@ -17116,7 +17385,7 @@
Parameters:
Source:
- src/core/Group.js line 1876 + src/core/Group.js line 1876 @@ -17145,7 +17414,7 @@
Parameters:
-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -17361,7 +17630,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -17416,7 +17685,7 @@
Returns:
-

+

getAll( [property] [, value] [, startIndex] [, endIndex])

@@ -17669,7 +17938,7 @@
Parameters:
Source:
- src/core/Group.js line 2497 + src/core/Group.js line 2497 @@ -17724,7 +17993,7 @@
Returns:
-

+

getAt(index)

@@ -17838,7 +18107,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -17894,7 +18163,7 @@
Returns:
-

+

getBottom()

@@ -17959,7 +18228,7 @@

Source:
- src/core/Group.js line 2326 + src/core/Group.js line 2326 @@ -18012,7 +18281,7 @@
Returns:
-

+

getBounds( [targetCoordinateSpace])

@@ -18141,7 +18410,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -18194,7 +18463,7 @@
Returns:
-

+

getByName(name)

@@ -18310,7 +18579,7 @@
Parameters:
Source:
- src/core/Group.js line 1049 + src/core/Group.js line 1049 @@ -18363,7 +18632,7 @@
Returns:
-

+

getChildAt(index)

@@ -18477,7 +18746,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -18530,7 +18799,7 @@
Returns:
-

+

getChildIndex(child)

@@ -18644,7 +18913,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -18697,7 +18966,7 @@
Returns:
-

+

getClosestTo(object [, callback] [, callbackContext])

@@ -18895,7 +19164,7 @@
Parameters:
Source:
- src/core/Group.js line 2343 + src/core/Group.js line 2343 @@ -18948,7 +19217,7 @@
Returns:
-

+

getFirstAlive( [createIfNull] [, x] [, y] [, key] [, frame])

@@ -19254,7 +19523,7 @@
Parameters:
Source:
- src/core/Group.js line 2210 + src/core/Group.js line 2210 @@ -19307,7 +19576,7 @@
Returns:
-

+

getFirstDead( [createIfNull] [, x] [, y] [, key] [, frame])

@@ -19613,7 +19882,7 @@
Parameters:
Source:
- src/core/Group.js line 2240 + src/core/Group.js line 2240 @@ -19666,7 +19935,7 @@
Returns:
-

+

getFirstExists( [exists] [, createIfNull] [, x] [, y] [, key] [, frame])

@@ -20011,7 +20280,7 @@
Parameters:
Source:
- src/core/Group.js line 2176 + src/core/Group.js line 2176 @@ -20064,7 +20333,7 @@
Returns:
-

+

getFurthestFrom(object [, callback] [, callbackContext])

@@ -20262,7 +20531,7 @@
Parameters:
Source:
- src/core/Group.js line 2387 + src/core/Group.js line 2387 @@ -20315,7 +20584,7 @@
Returns:
-

+

getIndex(child)

@@ -20429,7 +20698,7 @@
Parameters:
Source:
- src/core/Group.js line 1036 + src/core/Group.js line 1036 @@ -20482,7 +20751,7 @@
Returns:
-

+

getLocalBounds()

@@ -20546,7 +20815,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -20599,7 +20868,7 @@
Returns:
-

+

getRandom( [startIndex] [, length])

@@ -20773,7 +21042,7 @@
Parameters:
Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -20826,7 +21095,7 @@
Returns:
-

+

getRandomExists( [startIndex] [, endIndex])

@@ -21001,7 +21270,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -21054,7 +21323,7 @@
Returns:
-

+

getTop()

@@ -21119,7 +21388,7 @@

Source:
- src/core/Group.js line 2309 + src/core/Group.js line 2309 @@ -21172,7 +21441,7 @@
Returns:
-

+

hasProperty(child, key)

@@ -21311,7 +21580,7 @@
Parameters:
Source:
- src/core/Group.js line 1111 + src/core/Group.js line 1111 @@ -21364,7 +21633,7 @@
Returns:
-

+

iterate(key, value, returnType [, callback] [, callbackContext] [, args])

@@ -21698,7 +21967,7 @@
Parameters:
Source:
- src/core/Group.js line 2081 + src/core/Group.js line 2081 @@ -21751,7 +22020,7 @@
Returns:
-

+

kill()

@@ -21806,7 +22075,7 @@

Source:
- src/particles/arcade/Emitter.js line 447 + src/particles/arcade/Emitter.js line 454 @@ -21859,7 +22128,7 @@
Returns:
-

+

killAll()

@@ -21923,7 +22192,7 @@

Source:
- src/core/Group.js line 1499 + src/core/Group.js line 1499 @@ -21952,7 +22221,7 @@

-

+

makeParticles(keys [, frames] [, quantity] [, collide] [, collideWorldBounds] [, particleArguments])

@@ -22278,7 +22547,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 382 + src/particles/arcade/Emitter.js line 389 @@ -22331,7 +22600,7 @@
Returns:
-

+

moveAll(group [, silent])

@@ -22501,7 +22770,7 @@
Parameters:
Source:
- src/core/Group.js line 2591 + src/core/Group.js line 2591 @@ -22554,7 +22823,7 @@
Returns:
-

+

moveDown(child)

@@ -22668,7 +22937,7 @@
Parameters:
Source:
- src/core/Group.js line 976 + src/core/Group.js line 976 @@ -22721,7 +22990,7 @@
Returns:
-

+

moveUp(child)

@@ -22835,7 +23104,7 @@
Parameters:
Source:
- src/core/Group.js line 952 + src/core/Group.js line 952 @@ -22888,7 +23157,7 @@
Returns:
-

+

multiplyAll(property, amount, checkAlive, checkVisible)

@@ -23075,7 +23344,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -23104,7 +23373,7 @@
Parameters:
-

+

next()

@@ -23169,7 +23438,7 @@

Source:
- src/core/Group.js line 840 + src/core/Group.js line 840 @@ -23222,7 +23491,7 @@
Returns:
-

+

<protected> postUpdate()

@@ -23286,7 +23555,7 @@

Source:
- src/core/Group.js line 1761 + src/core/Group.js line 1761 @@ -23315,7 +23584,7 @@

-

+

<protected> preUpdate()

@@ -23379,7 +23648,7 @@

Source:
- src/core/Group.js line 1694 + src/core/Group.js line 1694 @@ -23408,7 +23677,7 @@

-

+

previous()

@@ -23473,7 +23742,7 @@

Source:
- src/core/Group.js line 869 + src/core/Group.js line 869 @@ -23526,7 +23795,7 @@
Returns:
-

+

remove(child [, destroy] [, silent])

@@ -23738,7 +24007,7 @@
Parameters:
Source:
- src/core/Group.js line 2543 + src/core/Group.js line 2543 @@ -23791,7 +24060,7 @@
Returns:
-

+

removeAll( [destroy] [, silent] [, destroyTexture])

@@ -24008,7 +24277,7 @@
Parameters:
Source:
- src/core/Group.js line 2620 + src/core/Group.js line 2620 @@ -24037,7 +24306,7 @@
Parameters:
-

+

removeBetween(startIndex [, endIndex] [, destroy] [, silent])

@@ -24285,7 +24554,7 @@
Parameters:
Source:
- src/core/Group.js line 2668 + src/core/Group.js line 2668 @@ -24314,7 +24583,7 @@
Parameters:
-

+

removeChild(child)

@@ -24428,7 +24697,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -24481,7 +24750,7 @@
Returns:
-

+

removeChildAt(index)

@@ -24595,7 +24864,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -24648,7 +24917,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -24786,7 +25055,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -24815,7 +25084,7 @@
Parameters:
-

+

removeFromHash(child)

@@ -24930,7 +25199,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -24983,7 +25252,7 @@
Returns:
-

+

replace(oldChild, newChild)

@@ -25123,7 +25392,7 @@
Parameters:
Source:
- src/core/Group.js line 1072 + src/core/Group.js line 1072 @@ -25176,7 +25445,7 @@
Returns:
-

+

resetAll( [x] [, y] [, key] [, frame] [, checkExists])

@@ -25477,7 +25746,7 @@
Parameters:
Source:
- src/core/Group.js line 1521 + src/core/Group.js line 1521 @@ -25506,7 +25775,7 @@
Parameters:
-

+

resetChild(child [, x] [, y] [, key] [, frame])

@@ -25783,7 +26052,7 @@
Parameters:
Source:
- src/core/Group.js line 2270 + src/core/Group.js line 2270 @@ -25836,7 +26105,7 @@
Returns:
-

+

resetCursor( [index])

@@ -25971,7 +26240,7 @@
Parameters:
Source:
- src/core/Group.js line 813 + src/core/Group.js line 813 @@ -26024,7 +26293,7 @@
Returns:
-

+

reverse()

@@ -26089,7 +26358,7 @@

Source:
- src/core/Group.js line 1022 + src/core/Group.js line 1022 @@ -26118,7 +26387,7 @@

-

+

revive()

@@ -26173,7 +26442,7 @@

Source:
- src/particles/arcade/Emitter.js line 463 + src/particles/arcade/Emitter.js line 470 @@ -26226,7 +26495,7 @@
Returns:
-

+

reviveAll()

@@ -26290,7 +26559,7 @@

Source:
- src/core/Group.js line 1510 + src/core/Group.js line 1510 @@ -26319,7 +26588,7 @@

-

+

scatter( [rect] [, checkExists])

@@ -26493,7 +26762,7 @@
Parameters:
Source:
- src/core/Group.js line 2723 + src/core/Group.js line 2723 @@ -26522,7 +26791,7 @@
Parameters:
-

+

sendToBack(child)

@@ -26636,7 +26905,7 @@
Parameters:
Source:
- src/core/Group.js line 933 + src/core/Group.js line 933 @@ -26689,7 +26958,7 @@
Returns:
-

+

set(child, key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -27052,7 +27321,7 @@
Parameters:
Source:
- src/core/Group.js line 1254 + src/core/Group.js line 1254 @@ -27105,7 +27374,7 @@
Returns:
-

+

setAll(key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -27434,7 +27703,7 @@
Parameters:
Source:
- src/core/Group.js line 1285 + src/core/Group.js line 1285 @@ -27463,7 +27732,7 @@
Parameters:
-

+

setAllChildren(key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -27792,7 +28061,7 @@
Parameters:
Source:
- src/core/Group.js line 1320 + src/core/Group.js line 1320 @@ -27821,7 +28090,7 @@
Parameters:
-

+

setAlpha( [min] [, max] [, rate] [, ease] [, yoyo])

@@ -28108,7 +28377,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 861 + src/particles/arcade/Emitter.js line 868 @@ -28161,7 +28430,7 @@
Returns:
-

+

setAngle(minAngle, maxAngle [, minSpeed] [, maxSpeed])

@@ -28382,7 +28651,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 954 + src/particles/arcade/Emitter.js line 961 @@ -28435,7 +28704,7 @@
Returns:
-

+

setChildIndex(child, index)

@@ -28573,7 +28842,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -28602,7 +28871,7 @@
Parameters:
-

+

setProperty(child, key, value [, operation] [, force])

@@ -28892,7 +29161,7 @@
Parameters:
Source:
- src/core/Group.js line 1146 + src/core/Group.js line 1146 @@ -28945,7 +29214,7 @@
Returns:
-

+

setRotation( [min] [, max])

@@ -29110,7 +29379,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 841 + src/particles/arcade/Emitter.js line 848 @@ -29163,7 +29432,7 @@
Returns:
-

+

setScale( [minX] [, maxX] [, minY] [, maxY] [, rate] [, ease] [, yoyo])

@@ -29530,7 +29799,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 903 + src/particles/arcade/Emitter.js line 910 @@ -29583,7 +29852,7 @@
Returns:
-

+

setSize(width, height)

@@ -29712,7 +29981,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 786 + src/particles/arcade/Emitter.js line 793 @@ -29765,7 +30034,7 @@
Returns:
-

+

setXSpeed( [min] [, max])

@@ -29930,7 +30199,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 803 + src/particles/arcade/Emitter.js line 810 @@ -29983,7 +30252,7 @@
Returns:
-

+

setYSpeed( [min] [, max])

@@ -30148,7 +30417,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 822 + src/particles/arcade/Emitter.js line 829 @@ -30201,7 +30470,7 @@
Returns:
-

+

shuffle()

@@ -30266,7 +30535,7 @@

Source:
- src/core/Group.js line 2742 + src/core/Group.js line 2742 @@ -30295,7 +30564,7 @@

-

+

sort( [key] [, order])

@@ -30473,7 +30742,7 @@
Parameters:
Source:
- src/core/Group.js line 1960 + src/core/Group.js line 1960 @@ -30502,7 +30771,7 @@
Parameters:
-

+

start( [explode] [, lifespan] [, frequency] [, total] [, forceQuantity])

@@ -30792,7 +31061,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 551 + src/particles/arcade/Emitter.js line 558 @@ -30845,7 +31114,7 @@
Returns:
-

+

subAll(property, amount, checkAlive, checkVisible)

@@ -31032,7 +31301,7 @@
Parameters:
Source:
- src/core/Group.js line 1448 + src/core/Group.js line 1448 @@ -31061,7 +31330,7 @@
Parameters:
-

+

swap(child1, child2)

@@ -31200,7 +31469,7 @@
Parameters:
Source:
- src/core/Group.js line 898 + src/core/Group.js line 898 @@ -31229,7 +31498,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -31367,7 +31636,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -31396,7 +31665,7 @@
Parameters:
-

+

toGlobal(position)

@@ -31510,7 +31779,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -31565,7 +31834,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -31723,7 +31992,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -31778,7 +32047,7 @@
Returns:
-

+

update()

@@ -31838,7 +32107,7 @@

Source:
- src/particles/arcade/Emitter.js line 310 + src/particles/arcade/Emitter.js line 317 @@ -31867,7 +32136,7 @@

-

+

updateCache()

@@ -31931,7 +32200,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -31986,7 +32255,7 @@
Returns:
-

+

updateTransform( [parent])

@@ -32120,7 +32389,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -32175,7 +32444,7 @@
Returns:
-

+

<protected> updateZ()

@@ -32240,7 +32509,7 @@

Source:
- src/core/Group.js line 670 + src/core/Group.js line 670 @@ -32269,7 +32538,7 @@

-

+

xy(index, x, y)

@@ -32431,7 +32700,7 @@
Parameters:
Source:
- src/core/Group.js line 1000 + src/core/Group.js line 1000 @@ -32474,9 +32743,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -32493,9 +32762,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -32507,7 +32776,7 @@
Parameters:
- +
@@ -32522,7 +32791,7 @@
Parameters:
- + diff --git a/docs/Phaser.Particles.Arcade.html b/docs/Phaser.Particles.Arcade.html index b2e1a4b50..feee3c18b 100644 --- a/docs/Phaser.Particles.Arcade.html +++ b/docs/Phaser.Particles.Arcade.html @@ -6,7 +6,7 @@ Phaser CE Class: Arcade - + @@ -125,7 +125,7 @@

-

+

new 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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -263,9 +263,9 @@

Classes

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -277,7 +277,7 @@

Classes

- +
@@ -292,7 +292,7 @@

Classes

- + diff --git a/docs/Phaser.Particles.html b/docs/Phaser.Particles.html index 16a39efdc..99c4cfc26 100644 --- a/docs/Phaser.Particles.html +++ b/docs/Phaser.Particles.html @@ -6,7 +6,7 @@ Phaser CE Class: Particles - + @@ -125,7 +125,7 @@

-

+

new Particles(game)

@@ -230,7 +230,7 @@
Parameters:
Source:
- src/particles/Particles.js line 14 + src/particles/Particles.js line 14 @@ -281,9 +281,11 @@

Members

-
-

emitters :object

- +
+

+ emitters : object + +

@@ -340,7 +342,7 @@
Type:
Source:
- src/particles/Particles.js line 24 + src/particles/Particles.js line 24 @@ -356,9 +358,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -415,7 +419,7 @@
Type:
Source:
- src/particles/Particles.js line 19 + src/particles/Particles.js line 19 @@ -431,9 +435,11 @@
Type:
-
-

ID :number

- +
+

+ ID : number + +

@@ -490,7 +496,7 @@
Type:
Source:
- src/particles/Particles.js line 30 + src/particles/Particles.js line 30 @@ -513,7 +519,7 @@

Methods

-

+

add(emitter)

@@ -618,7 +624,7 @@
Parameters:
Source:
- src/particles/Particles.js line 36 + src/particles/Particles.js line 36 @@ -671,7 +677,7 @@
Returns:
-

+

remove(emitter)

@@ -776,7 +782,7 @@
Parameters:
Source:
- src/particles/Particles.js line 47 + src/particles/Particles.js line 47 @@ -805,7 +811,7 @@
Parameters:
-

+

<protected> update() deprecated

@@ -870,7 +876,7 @@

Source:
- src/particles/Particles.js line 56 + src/particles/Particles.js line 56 @@ -913,9 +919,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -932,9 +938,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -946,7 +952,7 @@

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

- + diff --git a/docs/Phaser.Path.html b/docs/Phaser.Path.html index 32077abff..b6bcca794 100644 --- a/docs/Phaser.Path.html +++ b/docs/Phaser.Path.html @@ -6,7 +6,7 @@ Phaser CE Class: Path - + @@ -125,7 +125,7 @@

-

+

new Path(game [, type] [, loops])

@@ -327,7 +327,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 18 + src/plugins/path/Path.js line 18 @@ -371,9 +371,11 @@

Members

-
-

cacheKey :string

- +
+

+ cacheKey : string + +

@@ -430,7 +432,7 @@
Type:
Source:
- src/plugins/path/Path.js line 41 + src/plugins/path/Path.js line 41 @@ -446,9 +448,11 @@
Type:
-
-

coordinateSystem :number

- +
+

+ coordinateSystem : number + +

@@ -505,7 +509,7 @@
Type:
Source:
- src/plugins/path/Path.js line 31 + src/plugins/path/Path.js line 31 @@ -521,9 +525,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -580,7 +586,7 @@
Type:
Source:
- src/plugins/path/Path.js line 26 + src/plugins/path/Path.js line 26 @@ -596,9 +602,11 @@
Type:
-
-

key :string

- +
+

+ key : string + +

@@ -655,7 +663,7 @@
Type:
Source:
- src/plugins/path/Path.js line 46 + src/plugins/path/Path.js line 46 @@ -671,9 +679,11 @@
Type:
-
-

loops :boolean

- +
+

+ loops : boolean + +

@@ -730,7 +740,7 @@
Type:
Source:
- src/plugins/path/Path.js line 36 + src/plugins/path/Path.js line 36 @@ -753,7 +763,7 @@

Methods

-

+

addPathPoint( [x] [, y] [, vx] [, vy] [, speed] [, data] [, index])

@@ -1118,7 +1128,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 205 + src/plugins/path/Path.js line 205 @@ -1171,7 +1181,7 @@
Returns:
-

+

atEnd(index)

@@ -1276,7 +1286,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 516 + src/plugins/path/Path.js line 516 @@ -1329,7 +1339,7 @@
Returns:
-

+

clone()

@@ -1384,7 +1394,7 @@

Source:
- src/plugins/path/Path.js line 185 + src/plugins/path/Path.js line 185 @@ -1437,7 +1447,7 @@
Returns:
-

+

create(coordinateSystem [, loops])

@@ -1601,7 +1611,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 148 + src/plugins/path/Path.js line 148 @@ -1654,7 +1664,7 @@
Returns:
-

+

debug(ctx [, active])

@@ -1815,7 +1825,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 693 + src/plugins/path/Path.js line 693 @@ -1868,7 +1878,7 @@
Returns:
-

+

getControlPointsOnThisCurve(curve)

@@ -1973,7 +1983,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 343 + src/plugins/path/Path.js line 343 @@ -2026,7 +2036,7 @@
Returns:
-

+

getCurve( [index])

@@ -2152,7 +2162,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 429 + src/plugins/path/Path.js line 429 @@ -2205,7 +2215,7 @@
Returns:
-

+

getPathPoint(index, point)

@@ -2336,7 +2346,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 360 + src/plugins/path/Path.js line 360 @@ -2389,7 +2399,7 @@
Returns:
-

+

getPathPointReference(index)

@@ -2495,7 +2505,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 405 + src/plugins/path/Path.js line 405 @@ -2548,7 +2558,7 @@
Returns:
-

+

getPointOnThisCurve(curve [, t])

@@ -2709,7 +2719,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 319 + src/plugins/path/Path.js line 319 @@ -2762,7 +2772,7 @@
Returns:
-

+

numPoints()

@@ -2817,7 +2827,7 @@

Source:
- src/plugins/path/Path.js line 536 + src/plugins/path/Path.js line 536 @@ -2870,7 +2880,7 @@
Returns:
-

+

pointIndex(pathPoint)

@@ -2977,7 +2987,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 481 + src/plugins/path/Path.js line 481 @@ -3030,7 +3040,7 @@
Returns:
-

+

processData(follower, pathPointIndex, reversing)

@@ -3184,7 +3194,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 552 + src/plugins/path/Path.js line 552 @@ -3237,7 +3247,7 @@
Returns:
-

+

removePathPoint( [index])

@@ -3354,7 +3364,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 240 + src/plugins/path/Path.js line 240 @@ -3407,7 +3417,7 @@
Returns:
-

+

setOffset(x, y)

@@ -3536,7 +3546,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 302 + src/plugins/path/Path.js line 302 @@ -3589,7 +3599,7 @@
Returns:
-

+

setPathPoint(index, x, y [, vx] [, vy])

@@ -3836,7 +3846,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 260 + src/plugins/path/Path.js line 260 @@ -3889,7 +3899,7 @@
Returns:
-

+

smooth()

@@ -3945,7 +3955,7 @@

Source:
- src/plugins/path/Path.js line 628 + src/plugins/path/Path.js line 628 @@ -3998,7 +4008,7 @@
Returns:
-

+

toJSON()

@@ -4053,7 +4063,7 @@

Source:
- src/plugins/path/Path.js line 799 + src/plugins/path/Path.js line 799 @@ -4106,7 +4116,7 @@
Returns:
-

+

translatePoints(point)

@@ -4214,7 +4224,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 284 + src/plugins/path/Path.js line 284 @@ -4281,9 +4291,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -4300,9 +4310,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -4314,7 +4324,7 @@
Returns:
- +
@@ -4329,7 +4339,7 @@
Returns:
- + diff --git a/docs/Phaser.PathFollower.html b/docs/Phaser.PathFollower.html index 091291b72..46f20fea3 100644 --- a/docs/Phaser.PathFollower.html +++ b/docs/Phaser.PathFollower.html @@ -6,7 +6,7 @@ Phaser CE Class: PathFollower - + @@ -125,7 +125,7 @@

-

+

new PathFollower(path, follower [, speed] [, angleOffset] [, callbackAtEnd] [, physicsAdjustTime])

@@ -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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -523,9 +523,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -537,7 +537,7 @@
Parameters:
- +
@@ -552,7 +552,7 @@
Parameters:
- + diff --git a/docs/Phaser.PathPoint.html b/docs/Phaser.PathPoint.html index 378789a1c..0ba0c3664 100644 --- a/docs/Phaser.PathPoint.html +++ b/docs/Phaser.PathPoint.html @@ -6,7 +6,7 @@ Phaser CE Class: PathPoint - + @@ -125,7 +125,7 @@

-

+

new PathPoint(x, y, vx, vy [, speed] [, data] [, branchPath] [, branchPointIndex])

@@ -508,7 +508,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 22 + src/plugins/path/PathPoint.js line 22 @@ -552,9 +552,11 @@

Members

-
-

<static, constant> DATA_COUNTER :number

- +
+

+ <static, constant> DATA_COUNTER : number + +

@@ -607,7 +609,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 118 + src/plugins/path/PathPoint.js line 118 @@ -623,9 +625,11 @@
Type:
-
-

<static, constant> DATA_NONE :number

- +
+

+ <static, constant> DATA_NONE : number + +

@@ -678,7 +682,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 100 + src/plugins/path/PathPoint.js line 100 @@ -694,9 +698,11 @@
Type:
-
-

<static, constant> DATA_PAUSE :number

- +
+

+ <static, constant> DATA_PAUSE : number + +

@@ -749,7 +755,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 106 + src/plugins/path/PathPoint.js line 106 @@ -765,9 +771,11 @@
Type:
-
-

<static, constant> DATA_VALUE :number

- +
+

+ <static, constant> DATA_VALUE : number + +

@@ -820,7 +828,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 112 + src/plugins/path/PathPoint.js line 112 @@ -836,9 +844,11 @@
Type:
-
-

active :boolean

- +
+

+ active : boolean + +

@@ -895,7 +905,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 84 + src/plugins/path/PathPoint.js line 84 @@ -911,9 +921,11 @@
Type:
-
-

branchPath :Phaser.Path

- +
+

+ branchPath : Phaser.Path + +

@@ -970,7 +982,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 62 + src/plugins/path/PathPoint.js line 62 @@ -986,9 +998,11 @@
Type:
-
-

branchPointIndex :number

- +
+

+ branchPointIndex : number + +

@@ -1045,7 +1059,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 67 + src/plugins/path/PathPoint.js line 67 @@ -1061,9 +1075,11 @@
Type:
-
-

branchType :number

- +
+

+ branchType : number + +

@@ -1120,7 +1136,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 72 + src/plugins/path/PathPoint.js line 72 @@ -1136,9 +1152,11 @@
Type:
-
-

controlPoints :array

- +
+

+ controlPoints : array + +

@@ -1195,7 +1213,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 90 + src/plugins/path/PathPoint.js line 90 @@ -1211,9 +1229,11 @@
Type:
-
-

<protected> curve :number

- +
+

+ <protected> curve : number + +

@@ -1270,7 +1290,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 78 + src/plugins/path/PathPoint.js line 78 @@ -1286,9 +1306,11 @@
Type:
-
-

data :object

- +
+

+ data : object + +

@@ -1345,7 +1367,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 57 + src/plugins/path/PathPoint.js line 57 @@ -1361,9 +1383,11 @@
Type:
-
-

speed :number

- +
+

+ speed : number + +

@@ -1420,7 +1444,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 52 + src/plugins/path/PathPoint.js line 52 @@ -1436,9 +1460,11 @@
Type:
-
-

vx :number

- +
+

+ vx : number + +

@@ -1495,7 +1521,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 42 + src/plugins/path/PathPoint.js line 42 @@ -1511,9 +1537,11 @@
Type:
-
-

vy :number

- +
+

+ vy : number + +

@@ -1570,7 +1598,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 47 + src/plugins/path/PathPoint.js line 47 @@ -1586,9 +1614,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -1645,7 +1675,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 32 + src/plugins/path/PathPoint.js line 32 @@ -1661,9 +1691,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -1720,7 +1752,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 37 + src/plugins/path/PathPoint.js line 37 @@ -1743,7 +1775,7 @@

Methods

-

+

clone( [out])

@@ -1860,7 +1892,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 174 + src/plugins/path/PathPoint.js line 174 @@ -1913,7 +1945,7 @@
Returns:
-

+

copy(source)

@@ -2019,7 +2051,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 189 + src/plugins/path/PathPoint.js line 189 @@ -2072,7 +2104,7 @@
Returns:
-

+

equals(pathPoint [, offsetX] [, offsetY])

@@ -2275,7 +2307,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 214 + src/plugins/path/PathPoint.js line 214 @@ -2328,7 +2360,7 @@
Returns:
-

+

setTangent(vx, vy)

@@ -2457,7 +2489,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 154 + src/plugins/path/PathPoint.js line 154 @@ -2510,7 +2542,7 @@
Returns:
-

+

setTo(x, y [, vx] [, vy])

@@ -2725,7 +2757,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 122 + src/plugins/path/PathPoint.js line 122 @@ -2778,7 +2810,7 @@
Returns:
-

+

toJSON()

@@ -2833,7 +2865,7 @@

Source:
- src/plugins/path/PathPoint.js line 236 + src/plugins/path/PathPoint.js line 236 @@ -2900,9 +2932,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2919,9 +2951,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2933,7 +2965,7 @@
Returns:
- +
@@ -2948,7 +2980,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Arcade.Body.html b/docs/Phaser.Physics.Arcade.Body.html index 033a5c782..2d7c75c57 100644 --- a/docs/Phaser.Physics.Arcade.Body.html +++ b/docs/Phaser.Physics.Arcade.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -125,7 +125,7 @@

-

+

new Body(sprite)

@@ -231,7 +231,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 15 + src/physics/arcade/Body.js line 15 @@ -275,9 +275,11 @@

Members

-
-

acceleration :Phaser.Point

- +
+

+ acceleration : Phaser.Point + +

@@ -334,7 +336,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 161 + src/physics/arcade/Body.js line 161 @@ -350,9 +352,11 @@
Type:
-
-

allowDrag :boolean

- +
+

+ allowDrag : boolean + +

@@ -416,7 +420,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 167 + src/physics/arcade/Body.js line 167 @@ -432,9 +436,11 @@
Type:
-
-

allowGravity :boolean

- +
+

+ allowGravity : boolean + +

@@ -498,7 +504,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 178 + src/physics/arcade/Body.js line 178 @@ -514,9 +520,11 @@
Type:
-
-

allowRotation :boolean

- +
+

+ allowRotation : boolean + +

@@ -580,7 +588,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 79 + src/physics/arcade/Body.js line 79 @@ -596,9 +604,11 @@
Type:
-
-

<readonly> angle :number

- +
+

+ <readonly> angle : number + +

@@ -655,7 +665,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 295 + src/physics/arcade/Body.js line 295 @@ -671,9 +681,11 @@
Type:
-
-

angularAcceleration :number

- +
+

+ angularAcceleration : number + +

@@ -730,7 +742,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 271 + src/physics/arcade/Body.js line 271 @@ -746,9 +758,11 @@
Type:
-
-

angularDrag :number

- +
+

+ angularDrag : number + +

@@ -805,7 +819,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 277 + src/physics/arcade/Body.js line 277 @@ -821,9 +835,11 @@
Type:
-
-

angularVelocity :number

- +
+

+ angularVelocity : number + +

@@ -880,7 +896,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 265 + src/physics/arcade/Body.js line 265 @@ -896,9 +912,11 @@
Type:
-
-

blocked :object

- +
+

+ blocked : object + +

@@ -956,7 +974,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 402 + src/physics/arcade/Body.js line 402 @@ -972,9 +990,11 @@
Type:
-
-

<readonly> bottom :number

- +
+

+ <readonly> bottom : number + +

@@ -1031,7 +1051,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1383 + src/physics/arcade/Body.js line 1383 @@ -1047,9 +1067,11 @@
Type:
-
-

bounce :Phaser.Point

- +
+

+ bounce : Phaser.Point + +

@@ -1106,7 +1128,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 188 + src/physics/arcade/Body.js line 188 @@ -1122,9 +1144,11 @@
Type:
-
-

<readonly> center :Phaser.Point

- +
+

+ <readonly> center : Phaser.Point + +

@@ -1181,7 +1205,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 140 + src/physics/arcade/Body.js line 140 @@ -1197,9 +1221,11 @@
Type:
-
-

checkCollision :object

- +
+

+ checkCollision : object + +

@@ -1259,7 +1285,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 382 + src/physics/arcade/Body.js line 382 @@ -1275,9 +1301,11 @@
Type:
-
-

collideWorldBounds :boolean

- +
+

+ collideWorldBounds : boolean + +

@@ -1334,7 +1362,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 373 + src/physics/arcade/Body.js line 373 @@ -1350,9 +1378,11 @@
Type:
-
-

customSeparateX :boolean

- +
+

+ customSeparateX : boolean + +

@@ -1410,7 +1440,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 335 + src/physics/arcade/Body.js line 335 @@ -1426,9 +1456,11 @@
Type:
-
-

customSeparateY :boolean

- +
+

+ customSeparateY : boolean + +

@@ -1486,7 +1518,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 343 + src/physics/arcade/Body.js line 343 @@ -1502,9 +1534,11 @@
Type:
-
-

deltaMax :Phaser.Point

- +
+

+ deltaMax : Phaser.Point + +

@@ -1561,7 +1595,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 156 + src/physics/arcade/Body.js line 156 @@ -1577,9 +1611,11 @@
Type:
-
-

dirty :boolean

- +
+

+ dirty : boolean + +

@@ -1636,7 +1672,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 414 + src/physics/arcade/Body.js line 414 @@ -1652,9 +1688,11 @@
Type:
-
-

drag :Phaser.Point

- +
+

+ drag : Phaser.Point + +

@@ -1711,7 +1749,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 172 + src/physics/arcade/Body.js line 172 @@ -1727,9 +1765,11 @@
Type:
-
-

embedded :boolean

- +
+

+ embedded : boolean + +

@@ -1786,7 +1826,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 367 + src/physics/arcade/Body.js line 367 @@ -1802,9 +1842,11 @@
Type:
-
-

enable :boolean

- +
+

+ enable : boolean + +

@@ -1868,7 +1910,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 36 + src/physics/arcade/Body.js line 36 @@ -1884,9 +1926,11 @@
Type:
-
-

facing :number

- +
+

+ facing : number + +

@@ -1943,7 +1987,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 307 + src/physics/arcade/Body.js line 307 @@ -1959,9 +2003,11 @@
Type:
-
-

friction :Phaser.Point

- +
+

+ friction : Phaser.Point + +

@@ -2018,7 +2064,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 259 + src/physics/arcade/Body.js line 259 @@ -2034,9 +2080,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -2093,7 +2141,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 25 + src/physics/arcade/Body.js line 25 @@ -2109,9 +2157,11 @@
Type:
-
-

gravity :Phaser.Point

- +
+

+ gravity : Phaser.Point + +

@@ -2168,7 +2218,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 183 + src/physics/arcade/Body.js line 183 @@ -2184,9 +2234,11 @@
Type:
-
-

<readonly> halfHeight :number

- +
+

+ <readonly> halfHeight : number + +

@@ -2243,7 +2295,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 134 + src/physics/arcade/Body.js line 134 @@ -2259,9 +2311,11 @@
Type:
-
-

<readonly> halfWidth :number

- +
+

+ <readonly> halfWidth : number + +

@@ -2318,7 +2372,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 128 + src/physics/arcade/Body.js line 128 @@ -2334,9 +2388,11 @@
Type:
-
-

<readonly> height :number

- +
+

+ <readonly> height : number + +

@@ -2393,7 +2449,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 104 + src/physics/arcade/Body.js line 104 @@ -2409,9 +2465,11 @@
Type:
-
-

immovable :boolean

- +
+

+ immovable : boolean + +

@@ -2468,7 +2526,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 313 + src/physics/arcade/Body.js line 313 @@ -2484,9 +2542,11 @@
Type:
-
-

<readonly> isCircle :boolean

- +
+

+ <readonly> isCircle : boolean + +

@@ -2544,7 +2604,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 45 + src/physics/arcade/Body.js line 45 @@ -2560,9 +2620,11 @@
Type:
-
-

isMoving :boolean

- +
+

+ isMoving : boolean + +

@@ -2619,7 +2681,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 434 + src/physics/arcade/Body.js line 434 @@ -2635,9 +2697,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -2694,7 +2758,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1340 + src/physics/arcade/Body.js line 1340 @@ -2710,9 +2774,11 @@
Type:
-
-

mass :number

- +
+

+ mass : number + +

@@ -2776,7 +2842,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 289 + src/physics/arcade/Body.js line 289 @@ -2792,9 +2858,11 @@
Type:
-
-

maxAngular :number

- +
+

+ maxAngular : number + +

@@ -2858,7 +2926,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 283 + src/physics/arcade/Body.js line 283 @@ -2874,9 +2942,11 @@
Type:
-
-

maxVelocity :Phaser.Point

- +
+

+ maxVelocity : Phaser.Point + +

@@ -2933,7 +3003,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 254 + src/physics/arcade/Body.js line 254 @@ -2949,9 +3019,11 @@
Type:
-
-

movementCallback :function

- +
+

+ movementCallback : function + +

@@ -3008,7 +3080,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 479 + src/physics/arcade/Body.js line 479 @@ -3024,9 +3096,11 @@
Type:
-
-

movementCallbackContext :object

- +
+

+ movementCallbackContext : object + +

@@ -3083,7 +3157,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 484 + src/physics/arcade/Body.js line 484 @@ -3099,9 +3173,11 @@
Type:
-
-

moves :boolean

- +
+

+ moves : boolean + +

@@ -3169,7 +3245,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 327 + src/physics/arcade/Body.js line 327 @@ -3185,9 +3261,11 @@
Type:
-
-

<readonly> newVelocity :Phaser.Point

- +
+

+ <readonly> newVelocity : Phaser.Point + +

@@ -3244,7 +3322,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 151 + src/physics/arcade/Body.js line 151 @@ -3260,9 +3338,11 @@
Type:
-
-

offset :Phaser.Point

- +
+

+ offset : Phaser.Point + +

@@ -3319,7 +3399,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 61 + src/physics/arcade/Body.js line 61 @@ -3335,9 +3415,11 @@
Type:
-
-

onCollide :Phaser.Signal

- +
+

+ onCollide : Phaser.Signal + +

@@ -3403,7 +3485,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 228 + src/physics/arcade/Body.js line 228 @@ -3419,9 +3501,11 @@
Type:
-
-

onMoveComplete :Phaser.Signal

- +
+

+ onMoveComplete : Phaser.Signal + +

@@ -3478,7 +3562,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 474 + src/physics/arcade/Body.js line 474 @@ -3494,9 +3578,11 @@
Type:
-
-

onOverlap :Phaser.Signal

- +
+

+ onOverlap : Phaser.Signal + +

@@ -3562,7 +3648,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 248 + src/physics/arcade/Body.js line 248 @@ -3578,9 +3664,11 @@
Type:
-
-

onWorldBounds :Phaser.Signal

- +
+

+ onWorldBounds : Phaser.Signal + +

@@ -3643,7 +3731,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 208 + src/physics/arcade/Body.js line 208 @@ -3659,9 +3747,11 @@
Type:
-
-

overlapR :number

- +
+

+ overlapR : number + +

@@ -3718,7 +3808,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 361 + src/physics/arcade/Body.js line 361 @@ -3734,9 +3824,11 @@
Type:
-
-

overlapX :number

- +
+

+ overlapX : number + +

@@ -3793,7 +3885,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 349 + src/physics/arcade/Body.js line 349 @@ -3809,9 +3901,11 @@
Type:
-
-

overlapY :number

- +
+

+ overlapY : number + +

@@ -3868,7 +3962,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 355 + src/physics/arcade/Body.js line 355 @@ -3884,9 +3978,11 @@
Type:
-
-

<readonly> position :Phaser.Point

- +
+

+ <readonly> position : Phaser.Point + +

@@ -3943,7 +4039,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 67 + src/physics/arcade/Body.js line 67 @@ -3959,9 +4055,11 @@
Type:
-
-

<readonly> preRotation :number

- +
+

+ <readonly> preRotation : number + +

@@ -4018,7 +4116,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 92 + src/physics/arcade/Body.js line 92 @@ -4034,9 +4132,11 @@
Type:
-
-

<readonly> prev :Phaser.Point

- +
+

+ <readonly> prev : Phaser.Point + +

@@ -4093,7 +4193,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 73 + src/physics/arcade/Body.js line 73 @@ -4109,9 +4209,11 @@
Type:
-
-

<readonly> radius :number

- +
+

+ <readonly> radius : number + +

@@ -4171,7 +4273,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 56 + src/physics/arcade/Body.js line 56 @@ -4187,9 +4289,11 @@
Type:
-
+
@@ -4246,7 +4350,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1354 + src/physics/arcade/Body.js line 1354 @@ -4262,9 +4366,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -4322,7 +4428,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 86 + src/physics/arcade/Body.js line 86 @@ -4338,9 +4444,11 @@
Type:
-
-

skipQuadTree :boolean

- +
+

+ skipQuadTree : boolean + +

@@ -4397,7 +4505,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 419 + src/physics/arcade/Body.js line 419 @@ -4413,9 +4521,11 @@
Type:
-
-

<readonly> sourceHeight :number

- +
+

+ <readonly> sourceHeight : number + +

@@ -4472,7 +4582,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 116 + src/physics/arcade/Body.js line 116 @@ -4488,9 +4598,11 @@
Type:
-
-

<readonly> sourceWidth :number

- +
+

+ <readonly> sourceWidth : number + +

@@ -4547,7 +4659,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 110 + src/physics/arcade/Body.js line 110 @@ -4563,9 +4675,11 @@
Type:
-
-

<readonly> speed :number

- +
+

+ <readonly> speed : number + +

@@ -4622,7 +4736,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 301 + src/physics/arcade/Body.js line 301 @@ -4638,9 +4752,11 @@
Type:
-
-

sprite :Phaser.Sprite

- +
+

+ sprite : Phaser.Sprite + +

@@ -4697,7 +4813,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 20 + src/physics/arcade/Body.js line 20 @@ -4713,9 +4829,11 @@
Type:
-
-

stopVelocityOnCollide :boolean

- +
+

+ stopVelocityOnCollide : boolean + +

@@ -4772,7 +4890,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 439 + src/physics/arcade/Body.js line 439 @@ -4788,9 +4906,11 @@
Type:
-
-

syncBounds :boolean

- +
+

+ syncBounds : boolean + +

@@ -4850,7 +4970,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 429 + src/physics/arcade/Body.js line 429 @@ -4866,9 +4986,11 @@
Type:
-
-

tilePadding :Phaser.Point

- +
+

+ tilePadding : Phaser.Point + +

@@ -4926,7 +5048,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 409 + src/physics/arcade/Body.js line 409 @@ -4942,9 +5064,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -5001,7 +5125,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1369 + src/physics/arcade/Body.js line 1369 @@ -5017,9 +5141,11 @@
Type:
-
-

touching :object

- +
+

+ touching : object + +

@@ -5077,7 +5203,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 389 + src/physics/arcade/Body.js line 389 @@ -5093,9 +5219,11 @@
Type:
-
-

type :number

- +
+

+ type : number + +

@@ -5152,7 +5280,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 30 + src/physics/arcade/Body.js line 30 @@ -5168,9 +5296,11 @@
Type:
-
-

velocity :Phaser.Point

- +
+

+ velocity : Phaser.Point + +

@@ -5227,7 +5357,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 145 + src/physics/arcade/Body.js line 145 @@ -5243,9 +5373,11 @@
Type:
-
-

wasTouching :object

- +
+

+ wasTouching : object + +

@@ -5302,7 +5434,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 395 + src/physics/arcade/Body.js line 395 @@ -5318,9 +5450,11 @@
Type:
-
-

<readonly> width :number

- +
+

+ <readonly> width : number + +

@@ -5377,7 +5511,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 98 + src/physics/arcade/Body.js line 98 @@ -5393,9 +5527,11 @@
Type:
-
-

worldBounce :Phaser.Point

- +
+

+ worldBounce : Phaser.Point + +

@@ -5454,7 +5590,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 196 + src/physics/arcade/Body.js line 196 @@ -5470,9 +5606,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -5529,7 +5667,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1398 + src/physics/arcade/Body.js line 1398 @@ -5545,9 +5683,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -5604,7 +5744,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1417 + src/physics/arcade/Body.js line 1417 @@ -5627,7 +5767,7 @@

Methods

-

+

<protected> checkWorldBounds()

@@ -5682,7 +5822,7 @@

Source:
- src/physics/arcade/Body.js line 827 + src/physics/arcade/Body.js line 827 @@ -5735,7 +5875,7 @@
Returns:
-

+

deltaAbsX()

@@ -5790,7 +5930,7 @@

Source:
- src/physics/arcade/Body.js line 1258 + src/physics/arcade/Body.js line 1258 @@ -5843,7 +5983,7 @@
Returns:
-

+

deltaAbsY()

@@ -5898,7 +6038,7 @@

Source:
- src/physics/arcade/Body.js line 1270 + src/physics/arcade/Body.js line 1270 @@ -5951,7 +6091,7 @@
Returns:
-

+

deltaX()

@@ -6006,7 +6146,7 @@

Source:
- src/physics/arcade/Body.js line 1282 + src/physics/arcade/Body.js line 1282 @@ -6059,7 +6199,7 @@
Returns:
-

+

deltaY()

@@ -6114,7 +6254,7 @@

Source:
- src/physics/arcade/Body.js line 1294 + src/physics/arcade/Body.js line 1294 @@ -6167,7 +6307,7 @@
Returns:
-

+

deltaZ()

@@ -6222,7 +6362,7 @@

Source:
- src/physics/arcade/Body.js line 1306 + src/physics/arcade/Body.js line 1306 @@ -6275,7 +6415,7 @@
Returns:
-

+

destroy()

@@ -6332,7 +6472,7 @@

Source:
- src/physics/arcade/Body.js line 1318 + src/physics/arcade/Body.js line 1318 @@ -6361,7 +6501,7 @@

-

+

getBounds(obj)

@@ -6467,7 +6607,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1188 + src/physics/arcade/Body.js line 1188 @@ -6520,7 +6660,7 @@
Returns:
-

+

hitTest(x, y)

@@ -6649,7 +6789,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1208 + src/physics/arcade/Body.js line 1208 @@ -6702,7 +6842,7 @@
Returns:
-

+

moveFrom(duration [, speed] [, direction])

@@ -6900,7 +7040,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 877 + src/physics/arcade/Body.js line 877 @@ -6953,7 +7093,7 @@
Returns:
-

+

moveTo(duration, distance [, direction])

@@ -7148,7 +7288,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 951 + src/physics/arcade/Body.js line 951 @@ -7201,7 +7341,7 @@
Returns:
-

+

onCeiling()

@@ -7256,7 +7396,7 @@

Source:
- src/physics/arcade/Body.js line 1234 + src/physics/arcade/Body.js line 1234 @@ -7309,7 +7449,7 @@
Returns:
-

+

onFloor()

@@ -7364,7 +7504,7 @@

Source:
- src/physics/arcade/Body.js line 1222 + src/physics/arcade/Body.js line 1222 @@ -7417,7 +7557,7 @@
Returns:
-

+

onWall()

@@ -7472,7 +7612,7 @@

Source:
- src/physics/arcade/Body.js line 1246 + src/physics/arcade/Body.js line 1246 @@ -7525,7 +7665,7 @@
Returns:
-

+

<protected> postUpdate()

@@ -7580,7 +7720,7 @@

Source:
- src/physics/arcade/Body.js line 741 + src/physics/arcade/Body.js line 741 @@ -7609,7 +7749,7 @@

-

+

<protected> preUpdate()

@@ -7664,7 +7804,7 @@

Source:
- src/physics/arcade/Body.js line 576 + src/physics/arcade/Body.js line 576 @@ -7693,7 +7833,7 @@

-

+

render(context, body [, color] [, filled] [, lineWidth])

@@ -7970,7 +8110,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1437 + src/physics/arcade/Body.js line 1437 @@ -7999,7 +8139,7 @@
Parameters:
-

+

renderBodyInfo(body, x, y [, color])

@@ -8232,7 +8372,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1485 + src/physics/arcade/Body.js line 1485 @@ -8261,7 +8401,7 @@
Parameters:
-

+

reset(x, y)

@@ -8390,7 +8530,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1144 + src/physics/arcade/Body.js line 1144 @@ -8419,7 +8559,7 @@
Parameters:
-

+

setCircle( [radius] [, offsetX] [, offsetY])

@@ -8609,7 +8749,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1098 + src/physics/arcade/Body.js line 1098 @@ -8638,7 +8778,7 @@
Parameters:
-

+

setSize(width, height [, offsetX] [, offsetY])

@@ -8877,7 +9017,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1038 + src/physics/arcade/Body.js line 1038 @@ -8906,7 +9046,7 @@
Parameters:
-

+

stop()

@@ -8961,7 +9101,7 @@

Source:
- src/physics/arcade/Body.js line 1173 + src/physics/arcade/Body.js line 1173 @@ -8990,7 +9130,7 @@

-

+

stopMovement( [stopVelocity])

@@ -9110,7 +9250,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 713 + src/physics/arcade/Body.js line 713 @@ -9139,7 +9279,7 @@
Parameters:
-

+

<protected> updateBounds()

@@ -9194,7 +9334,7 @@

Source:
- src/physics/arcade/Body.js line 520 + src/physics/arcade/Body.js line 520 @@ -9223,7 +9363,7 @@

-

+

<protected> updateCenter()

@@ -9278,7 +9418,7 @@

Source:
- src/physics/arcade/Body.js line 564 + src/physics/arcade/Body.js line 564 @@ -9307,7 +9447,7 @@

-

+

<protected> updateMovement()

@@ -9362,7 +9502,7 @@

Source:
- src/physics/arcade/Body.js line 672 + src/physics/arcade/Body.js line 672 @@ -9405,9 +9545,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -9424,9 +9564,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -9438,7 +9578,7 @@

- +
@@ -9453,7 +9593,7 @@

- + diff --git a/docs/Phaser.Physics.Arcade.TilemapCollision.html b/docs/Phaser.Physics.Arcade.TilemapCollision.html index 2f9ec0e90..7e73ca6c4 100644 --- a/docs/Phaser.Physics.Arcade.TilemapCollision.html +++ b/docs/Phaser.Physics.Arcade.TilemapCollision.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapCollision - + @@ -125,7 +125,7 @@

-

+

new TilemapCollision()

@@ -180,7 +180,7 @@

Source:
- src/physics/arcade/TilemapCollision.js line 13 + src/physics/arcade/TilemapCollision.js line 13 @@ -224,9 +224,11 @@

Members

-
-

TILE_BIAS :number

- +
+

+ TILE_BIAS : number + +

@@ -283,7 +285,7 @@
Type:
Source:
- src/physics/arcade/TilemapCollision.js line 20 + src/physics/arcade/TilemapCollision.js line 20 @@ -316,9 +318,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -349,7 +351,7 @@
Type:
- +
@@ -364,7 +366,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.Arcade.html b/docs/Phaser.Physics.Arcade.html index 269ca266c..d0a2a004e 100644 --- a/docs/Phaser.Physics.Arcade.html +++ b/docs/Phaser.Physics.Arcade.html @@ -6,7 +6,7 @@ Phaser CE Class: Arcade - + @@ -125,7 +125,7 @@

-

+

new Arcade(game)

@@ -230,7 +230,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 14 + src/physics/arcade/World.js line 14 @@ -284,9 +284,11 @@

Members

-
-

<static, constant> BOTTOM_TOP :number

- +
+

+ <static, constant> BOTTOM_TOP : number + +

@@ -344,7 +346,7 @@
Type:
Source:
- src/physics/arcade/World.js line 130 + src/physics/arcade/World.js line 130 @@ -360,9 +362,11 @@
Type:
-
-

<static, constant> LEFT_RIGHT :number

- +
+

+ <static, constant> LEFT_RIGHT : number + +

@@ -420,7 +424,7 @@
Type:
Source:
- src/physics/arcade/World.js line 106 + src/physics/arcade/World.js line 106 @@ -436,9 +440,11 @@
Type:
-
-

<static, constant> RIGHT_LEFT :number

- +
+

+ <static, constant> RIGHT_LEFT : number + +

@@ -496,7 +502,7 @@
Type:
Source:
- src/physics/arcade/World.js line 114 + src/physics/arcade/World.js line 114 @@ -512,9 +518,11 @@
Type:
-
-

<static, constant> SORT_NONE :number

- +
+

+ <static, constant> SORT_NONE : number + +

@@ -572,7 +580,7 @@
Type:
Source:
- src/physics/arcade/World.js line 98 + src/physics/arcade/World.js line 98 @@ -588,9 +596,11 @@
Type:
-
-

<static, constant> TOP_BOTTOM :number

- +
+

+ <static, constant> TOP_BOTTOM : number + +

@@ -648,7 +658,7 @@
Type:
Source:
- src/physics/arcade/World.js line 122 + src/physics/arcade/World.js line 122 @@ -664,9 +674,11 @@
Type:
-
-

bounds :Phaser.Rectangle

- +
+

+ bounds : Phaser.Rectangle + +

@@ -723,7 +735,7 @@
Type:
Source:
- src/physics/arcade/World.js line 29 + src/physics/arcade/World.js line 29 @@ -739,9 +751,11 @@
Type:
-
-

checkCollision :object

- +
+

+ checkCollision : object + +

@@ -799,7 +813,7 @@
Type:
Source:
- src/physics/arcade/World.js line 36 + src/physics/arcade/World.js line 36 @@ -815,9 +829,11 @@
Type:
-
-

forceX :boolean

- +
+

+ forceX : boolean + +

@@ -874,7 +890,7 @@
Type:
Source:
- src/physics/arcade/World.js line 56 + src/physics/arcade/World.js line 56 @@ -890,9 +906,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -949,7 +967,7 @@
Type:
Source:
- src/physics/arcade/World.js line 19 + src/physics/arcade/World.js line 19 @@ -965,9 +983,11 @@
Type:
-
-

gravity :Phaser.Point

- +
+

+ gravity : Phaser.Point + +

@@ -1024,7 +1044,7 @@
Type:
Source:
- src/physics/arcade/World.js line 24 + src/physics/arcade/World.js line 24 @@ -1040,9 +1060,11 @@
Type:
-
-

isPaused :boolean

- +
+

+ isPaused : boolean + +

@@ -1099,7 +1121,7 @@
Type:
Source:
- src/physics/arcade/World.js line 72 + src/physics/arcade/World.js line 72 @@ -1115,9 +1137,11 @@
Type:
-
-

maxLevels :number

- +
+

+ maxLevels : number + +

@@ -1174,7 +1198,7 @@
Type:
Source:
- src/physics/arcade/World.js line 46 + src/physics/arcade/World.js line 46 @@ -1190,9 +1214,11 @@
Type:
-
-

maxObjects :number

- +
+

+ maxObjects : number + +

@@ -1249,7 +1275,7 @@
Type:
Source:
- src/physics/arcade/World.js line 41 + src/physics/arcade/World.js line 41 @@ -1265,9 +1291,11 @@
Type:
-
-

OVERLAP_BIAS :number

- +
+

+ OVERLAP_BIAS : number + +

@@ -1324,7 +1352,7 @@
Type:
Source:
- src/physics/arcade/World.js line 51 + src/physics/arcade/World.js line 51 @@ -1340,9 +1368,11 @@
Type:
-
-

quadTree :Phaser.QuadTree

- +
+

+ quadTree : Phaser.QuadTree + +

@@ -1399,7 +1429,7 @@
Type:
Source:
- src/physics/arcade/World.js line 77 + src/physics/arcade/World.js line 77 @@ -1415,9 +1445,11 @@
Type:
-
-

skipQuadTree :boolean

- +
+

+ skipQuadTree : boolean + +

@@ -1474,7 +1506,7 @@
Type:
Source:
- src/physics/arcade/World.js line 67 + src/physics/arcade/World.js line 67 @@ -1490,9 +1522,11 @@
Type:
-
-

sortDirection :number

- +
+

+ sortDirection : number + +

@@ -1549,7 +1583,7 @@
Type:
Source:
- src/physics/arcade/World.js line 62 + src/physics/arcade/World.js line 62 @@ -1572,7 +1606,7 @@

Methods

-

+

accelerateToObject(displayObject, destination [, speed] [, xSpeedMax] [, ySpeedMax])

@@ -1852,7 +1886,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1861 + src/physics/arcade/World.js line 1861 @@ -1905,7 +1939,7 @@
Returns:
-

+

accelerateToPointer(displayObject [, pointer] [, speed] [, xSpeedMax] [, ySpeedMax])

@@ -2187,7 +2221,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1890 + src/physics/arcade/World.js line 1890 @@ -2240,7 +2274,7 @@
Returns:
-

+

accelerateToXY(displayObject, x, y [, speed] [, xSpeedMax] [, ySpeedMax])

@@ -2556,7 +2590,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1920 + src/physics/arcade/World.js line 1920 @@ -2609,7 +2643,7 @@
Returns:
-

+

accelerationFromRotation(rotation [, speed] [, point])

@@ -2812,7 +2846,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1842 + src/physics/arcade/World.js line 1842 @@ -2867,7 +2901,7 @@
Returns:
-

+

angleBetween(source, target [, world])

@@ -3067,7 +3101,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2028 + src/physics/arcade/World.js line 2028 @@ -3120,7 +3154,7 @@
Returns:
-

+

angleBetweenCenters(source, target)

@@ -3249,7 +3283,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2056 + src/physics/arcade/World.js line 2056 @@ -3302,7 +3336,7 @@
Returns:
-

+

angleToPointer(displayObject [, pointer] [, world])

@@ -3504,7 +3538,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2102 + src/physics/arcade/World.js line 2102 @@ -3557,7 +3591,7 @@
Returns:
-

+

angleToXY(displayObject, x, y [, world])

@@ -3793,7 +3827,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2073 + src/physics/arcade/World.js line 2073 @@ -3846,7 +3880,7 @@
Returns:
-

+

circleBodyIntersects(circle, body)

@@ -3975,7 +4009,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1160 + src/physics/arcade/World.js line 1160 @@ -4028,7 +4062,7 @@
Returns:
-

+

collide(object1, object2 [, collideCallback] [, processCallback] [, callbackContext])

@@ -4347,7 +4381,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 362 + src/physics/arcade/World.js line 362 @@ -4400,7 +4434,7 @@
Returns:
-

+

computeVelocity(axis, body, velocity, acceleration, drag [, max])

@@ -4706,7 +4740,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 260 + src/physics/arcade/World.js line 260 @@ -4759,7 +4793,7 @@
Returns:
-

+

distanceBetween(source, target [, world])

@@ -4959,7 +4993,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1950 + src/physics/arcade/World.js line 1950 @@ -5012,7 +5046,7 @@
Returns:
-

+

distanceToPointer(displayObject [, pointer] [, world])

@@ -5216,7 +5250,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2001 + src/physics/arcade/World.js line 2001 @@ -5269,7 +5303,7 @@
Returns:
-

+

distanceToXY(displayObject, x, y [, world])

@@ -5507,7 +5541,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1974 + src/physics/arcade/World.js line 1974 @@ -5560,7 +5594,7 @@
Returns:
-

+

enable(object [, children])

@@ -5728,7 +5762,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 160 + src/physics/arcade/World.js line 160 @@ -5757,7 +5791,7 @@
Parameters:
-

+

enableBody(object)

@@ -5864,7 +5898,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 216 + src/physics/arcade/World.js line 216 @@ -5893,7 +5927,7 @@
Parameters:
-

+

getObjectsAtLocation(x, y, group [, callback] [, callbackContext] [, callbackArg])

@@ -6176,7 +6210,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1657 + src/physics/arcade/World.js line 1657 @@ -6229,7 +6263,7 @@
Returns:
-

+

getObjectsUnderPointer(pointer, group [, callback] [, callbackContext])

@@ -6446,7 +6480,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1634 + src/physics/arcade/World.js line 1634 @@ -6499,7 +6533,7 @@
Returns:
-

+

getOverlapX(body1, body2, overlapOnly)

@@ -6653,7 +6687,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1366 + src/physics/arcade/World.js line 1366 @@ -6706,7 +6740,7 @@
Returns:
-

+

getOverlapY(body1, body2, overlapOnly)

@@ -6860,7 +6894,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1430 + src/physics/arcade/World.js line 1430 @@ -6913,7 +6947,7 @@
Returns:
-

+

intersects(body1, body2)

@@ -7042,7 +7076,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1096 + src/physics/arcade/World.js line 1096 @@ -7095,7 +7129,7 @@
Returns:
-

+

moveToObject(displayObject, destination [, speed] [, maxTime])

@@ -7337,7 +7371,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1701 + src/physics/arcade/World.js line 1701 @@ -7390,7 +7424,7 @@
Returns:
-

+

moveToPointer(displayObject [, speed] [, pointer] [, maxTime])

@@ -7633,7 +7667,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1735 + src/physics/arcade/World.js line 1735 @@ -7686,7 +7720,7 @@
Returns:
-

+

moveToXY(displayObject, x, y [, speed] [, maxTime])

@@ -7964,7 +7998,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1769 + src/physics/arcade/World.js line 1769 @@ -8017,7 +8051,7 @@
Returns:
-

+

overlap(object1, object2 [, overlapCallback] [, processCallback] [, callbackContext])

@@ -8318,7 +8352,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 321 + src/physics/arcade/World.js line 321 @@ -8371,7 +8405,7 @@
Returns:
-

+

setBounds(x, y, width, height)

@@ -8548,7 +8582,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 134 + src/physics/arcade/World.js line 134 @@ -8577,7 +8611,7 @@
Parameters:
-

+

setBoundsToWorld()

@@ -8632,7 +8666,7 @@

Source:
- src/physics/arcade/World.js line 149 + src/physics/arcade/World.js line 149 @@ -8661,7 +8695,7 @@

-

+

sort(group [, sortDirection])

@@ -8813,7 +8847,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 509 + src/physics/arcade/World.js line 509 @@ -8842,7 +8876,7 @@
Parameters:
-

+

sortBottomTop(a, b)

@@ -8972,7 +9006,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 488 + src/physics/arcade/World.js line 488 @@ -9025,7 +9059,7 @@
Returns:
-

+

sortLeftRight(a, b)

@@ -9155,7 +9189,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 425 + src/physics/arcade/World.js line 425 @@ -9208,7 +9242,7 @@
Returns:
-

+

sortRightLeft(a, b)

@@ -9338,7 +9372,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 446 + src/physics/arcade/World.js line 446 @@ -9391,7 +9425,7 @@
Returns:
-

+

sortTopBottom(a, b)

@@ -9521,7 +9555,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 467 + src/physics/arcade/World.js line 467 @@ -9574,7 +9608,7 @@
Returns:
-

+

updateMotion(The)

@@ -9679,7 +9713,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 240 + src/physics/arcade/World.js line 240 @@ -9708,7 +9742,7 @@
Parameters:
-

+

velocityFromAngle(angle [, speed] [, point])

@@ -9911,7 +9945,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1804 + src/physics/arcade/World.js line 1804 @@ -9966,7 +10000,7 @@
Returns:
-

+

velocityFromRotation(rotation [, speed] [, point])

@@ -10169,7 +10203,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1823 + src/physics/arcade/World.js line 1823 @@ -10224,7 +10258,7 @@
Returns:
-

+

worldAngleToPointer(displayObject [, pointer])

@@ -10374,7 +10408,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2131 + src/physics/arcade/World.js line 2131 @@ -10441,9 +10475,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -10460,9 +10494,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -10474,7 +10508,7 @@
Returns:
- +
@@ -10489,7 +10523,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.AABB.html b/docs/Phaser.Physics.Ninja.AABB.html index 77fc913e1..a37456686 100644 --- a/docs/Phaser.Physics.Ninja.AABB.html +++ b/docs/Phaser.Physics.Ninja.AABB.html @@ -6,7 +6,7 @@ Phaser CE Class: AABB - + @@ -125,7 +125,7 @@

-

+

new AABB(body, x, y, width, height)

@@ -327,7 +327,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 20 + src/physics/ninja/AABB.js line 20 @@ -371,9 +371,11 @@

Members

-
-

aabbTileProjections :object

- +
+

+ aabbTileProjections : object + +

@@ -430,7 +432,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 86 + src/physics/ninja/AABB.js line 86 @@ -446,9 +448,11 @@
Type:
-
-

body

- +
+

+ body + +

@@ -543,7 +547,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 25 + src/physics/ninja/AABB.js line 25 @@ -559,9 +563,11 @@
Properties:
-
-

<readonly> height :number

- +
+

+ <readonly> height : number + +

@@ -618,7 +624,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 64 + src/physics/ninja/AABB.js line 64 @@ -634,9 +640,11 @@
Type:
-
-

oldpos :Phaser.Point

- +
+

+ oldpos : Phaser.Point + +

@@ -693,7 +701,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 40 + src/physics/ninja/AABB.js line 40 @@ -709,9 +717,11 @@
Type:
-
-

pos :Phaser.Point

- +
+

+ pos : Phaser.Point + +

@@ -768,7 +778,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 35 + src/physics/ninja/AABB.js line 35 @@ -784,9 +794,11 @@
Type:
-
-

system :Phaser.Physics.Ninja

- +
+

+ system : Phaser.Physics.Ninja + +

@@ -843,7 +855,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 30 + src/physics/ninja/AABB.js line 30 @@ -859,9 +871,11 @@
Type:
-
-

velocity :Phaser.Point

- +
+

+ velocity : Phaser.Point + +

@@ -918,7 +932,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 81 + src/physics/ninja/AABB.js line 81 @@ -934,9 +948,11 @@
Type:
-
-

<readonly> width :number

- +
+

+ <readonly> width : number + +

@@ -993,7 +1009,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 58 + src/physics/ninja/AABB.js line 58 @@ -1009,9 +1025,11 @@
Type:
-
-

<readonly> xw :number

- +
+

+ <readonly> xw : number + +

@@ -1068,7 +1086,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 46 + src/physics/ninja/AABB.js line 46 @@ -1084,9 +1102,11 @@
Type:
-
-

<readonly> yw

- +
+

+ <readonly> yw + +

@@ -1181,7 +1201,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 52 + src/physics/ninja/AABB.js line 52 @@ -1204,7 +1224,7 @@

Methods

-

+

collideAABBVsAABB(aabb)

@@ -1309,7 +1329,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 336 + src/physics/ninja/AABB.js line 336 @@ -1338,7 +1358,7 @@
Parameters:
-

+

collideAABBVsTile(tile)

@@ -1443,7 +1463,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 408 + src/physics/ninja/AABB.js line 408 @@ -1472,7 +1492,7 @@
Parameters:
-

+

collideWorldBounds()

@@ -1527,7 +1547,7 @@

Source:
- src/physics/ninja/AABB.js line 295 + src/physics/ninja/AABB.js line 295 @@ -1556,7 +1576,7 @@

-

+

destroy()

@@ -1611,7 +1631,7 @@

Source:
- src/physics/ninja/AABB.js line 993 + src/physics/ninja/AABB.js line 993 @@ -1640,7 +1660,7 @@

-

+

integrate()

@@ -1695,7 +1715,7 @@

Source:
- src/physics/ninja/AABB.js line 108 + src/physics/ninja/AABB.js line 108 @@ -1724,7 +1744,7 @@

-

+

projAABB_22DegB(x, y, obj, t)

@@ -1901,7 +1921,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 702 + src/physics/ninja/AABB.js line 702 @@ -1954,7 +1974,7 @@
Returns:
-

+

projAABB_22DegS(x, y, obj, t)

@@ -2131,7 +2151,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 622 + src/physics/ninja/AABB.js line 622 @@ -2184,7 +2204,7 @@
Returns:
-

+

projAABB_45Deg(x, y, obj, t)

@@ -2361,7 +2381,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 569 + src/physics/ninja/AABB.js line 569 @@ -2414,7 +2434,7 @@
Returns:
-

+

projAABB_67DegB(x, y, obj, t)

@@ -2591,7 +2611,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 834 + src/physics/ninja/AABB.js line 834 @@ -2644,7 +2664,7 @@
Returns:
-

+

projAABB_67DegS(x, y, obj, t)

@@ -2821,7 +2841,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 755 + src/physics/ninja/AABB.js line 755 @@ -2874,7 +2894,7 @@
Returns:
-

+

projAABB_Concave(x, y, obj, t)

@@ -3051,7 +3071,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 935 + src/physics/ninja/AABB.js line 935 @@ -3104,7 +3124,7 @@
Returns:
-

+

projAABB_Convex(x, y, obj, t)

@@ -3281,7 +3301,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 885 + src/physics/ninja/AABB.js line 885 @@ -3334,7 +3354,7 @@
Returns:
-

+

projAABB_Full(x, y, obj, t)

@@ -3511,7 +3531,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 491 + src/physics/ninja/AABB.js line 491 @@ -3564,7 +3584,7 @@
Returns:
-

+

projAABB_Half(x, y, obj, t)

@@ -3741,7 +3761,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 510 + src/physics/ninja/AABB.js line 510 @@ -3794,7 +3814,7 @@
Returns:
-

+

render(context, xOffset, yOffset, color, filled)

@@ -3995,7 +4015,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 1003 + src/physics/ninja/AABB.js line 1003 @@ -4024,7 +4044,7 @@
Parameters:
-

+

reportCollision(px, py, dx, dy)

@@ -4201,7 +4221,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 128 + src/physics/ninja/AABB.js line 128 @@ -4230,7 +4250,7 @@
Parameters:
-

+

reportCollisionVsBody(px, py, dx, dy, obj)

@@ -4431,7 +4451,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 248 + src/physics/ninja/AABB.js line 248 @@ -4460,7 +4480,7 @@
Parameters:
-

+

reportCollisionVsWorld(px, py, dx, dy)

@@ -4637,7 +4657,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 202 + src/physics/ninja/AABB.js line 202 @@ -4666,7 +4686,7 @@
Parameters:
-

+

resolveTile(x, y, body, tile)

@@ -4843,7 +4863,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 467 + src/physics/ninja/AABB.js line 467 @@ -4896,7 +4916,7 @@
Returns:
-

+

reverse()

@@ -4947,7 +4967,7 @@

Source:
- src/physics/ninja/AABB.js line 216 + src/physics/ninja/AABB.js line 216 @@ -4990,9 +5010,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -5009,9 +5029,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -5023,7 +5043,7 @@

- +
@@ -5038,7 +5058,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Body.html b/docs/Phaser.Physics.Ninja.Body.html index 612cb59b0..ccf3b04b7 100644 --- a/docs/Phaser.Physics.Ninja.Body.html +++ b/docs/Phaser.Physics.Ninja.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -125,7 +125,7 @@

-

+

new Body(system, sprite [, type] [, id] [, radius] [, x] [, y] [, width] [, height])

@@ -563,7 +563,7 @@
Parameters:
Source:
- src/physics/ninja/Body.js line 23 + src/physics/ninja/Body.js line 23 @@ -607,9 +607,11 @@

Members

-
-

aabb :Phaser.Physics.Ninja.AABB

- +
+

+ aabb : Phaser.Physics.Ninja.AABB + +

@@ -666,7 +668,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 54 + src/physics/ninja/Body.js line 54 @@ -682,9 +684,11 @@
Type:
-
-

<readonly> angle :number

- +
+

+ <readonly> angle : number + +

@@ -741,7 +745,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 535 + src/physics/ninja/Body.js line 535 @@ -757,9 +761,11 @@
Type:
-
-

<readonly> bottom :number

- +
+

+ <readonly> bottom : number + +

@@ -816,7 +822,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 496 + src/physics/ninja/Body.js line 496 @@ -832,9 +838,11 @@
Type:
-
-

bounce :number

- +
+

+ bounce : number + +

@@ -898,7 +906,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 95 + src/physics/ninja/Body.js line 95 @@ -914,9 +922,11 @@
Type:
-
-

checkCollision :object

- +
+

+ checkCollision : object + +

@@ -974,7 +984,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 125 + src/physics/ninja/Body.js line 125 @@ -990,9 +1000,11 @@
Type:
-
-

circle :Phaser.Physics.Ninja.Circle

- +
+

+ circle : Phaser.Physics.Ninja.Circle + +

@@ -1049,7 +1061,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 64 + src/physics/ninja/Body.js line 64 @@ -1065,9 +1077,11 @@
Type:
-
-

collideWorldBounds :boolean

- +
+

+ collideWorldBounds : boolean + +

@@ -1124,7 +1138,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 118 + src/physics/ninja/Body.js line 118 @@ -1140,9 +1154,11 @@
Type:
-
-

drag :number

- +
+

+ drag : number + +

@@ -1206,7 +1222,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 77 + src/physics/ninja/Body.js line 77 @@ -1222,9 +1238,11 @@
Type:
-
-

facing :number

- +
+

+ facing : number + +

@@ -1281,7 +1299,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 106 + src/physics/ninja/Body.js line 106 @@ -1297,9 +1315,11 @@
Type:
-
-

friction :number

- +
+

+ friction : number + +

@@ -1363,7 +1383,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 83 + src/physics/ninja/Body.js line 83 @@ -1379,9 +1399,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -1438,7 +1460,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 39 + src/physics/ninja/Body.js line 39 @@ -1454,9 +1476,11 @@
Type:
-
-

gravityScale :number

- +
+

+ gravityScale : number + +

@@ -1520,7 +1544,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 89 + src/physics/ninja/Body.js line 89 @@ -1536,9 +1560,11 @@
Type:
-
-

<readonly> height :number

- +
+

+ <readonly> height : number + +

@@ -1595,7 +1621,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 483 + src/physics/ninja/Body.js line 483 @@ -1611,9 +1637,11 @@
Type:
-
-

immovable :boolean

- +
+

+ immovable : boolean + +

@@ -1670,7 +1698,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 112 + src/physics/ninja/Body.js line 112 @@ -1686,9 +1714,11 @@
Type:
-
-

maxSpeed :number

- +
+

+ maxSpeed : number + +

@@ -1752,7 +1782,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 144 + src/physics/ninja/Body.js line 144 @@ -1768,9 +1798,11 @@
Type:
-
+
@@ -1827,7 +1859,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 509 + src/physics/ninja/Body.js line 509 @@ -1843,9 +1875,11 @@
Type:
-
-

shape :object

- +
+

+ shape : object + +

@@ -1902,7 +1936,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 69 + src/physics/ninja/Body.js line 69 @@ -1918,9 +1952,11 @@
Type:
-
-

<readonly> speed :number

- +
+

+ <readonly> speed : number + +

@@ -1977,7 +2013,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 522 + src/physics/ninja/Body.js line 522 @@ -1993,9 +2029,11 @@
Type:
-
-

sprite :Phaser.Sprite

- +
+

+ sprite : Phaser.Sprite + +

@@ -2052,7 +2090,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 34 + src/physics/ninja/Body.js line 34 @@ -2068,9 +2106,11 @@
Type:
-
-

system :Phaser.Physics.Ninja

- +
+

+ system : Phaser.Physics.Ninja + +

@@ -2127,7 +2167,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 49 + src/physics/ninja/Body.js line 49 @@ -2143,9 +2183,11 @@
Type:
-
-

tile :Phaser.Physics.Ninja.Tile

- +
+

+ tile : Phaser.Physics.Ninja.Tile + +

@@ -2202,7 +2244,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 59 + src/physics/ninja/Body.js line 59 @@ -2218,9 +2260,11 @@
Type:
-
-

touching :object

- +
+

+ touching : object + +

@@ -2278,7 +2322,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 132 + src/physics/ninja/Body.js line 132 @@ -2294,9 +2338,11 @@
Type:
-
-

type :number

- +
+

+ type : number + +

@@ -2353,7 +2399,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 44 + src/physics/ninja/Body.js line 44 @@ -2369,9 +2415,11 @@
Type:
-
-

velocity :Phaser.Point

- +
+

+ velocity : Phaser.Point + +

@@ -2428,7 +2476,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 100 + src/physics/ninja/Body.js line 100 @@ -2444,9 +2492,11 @@
Type:
-
-

wasTouching :object

- +
+

+ wasTouching : object + +

@@ -2503,7 +2553,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 138 + src/physics/ninja/Body.js line 138 @@ -2519,9 +2569,11 @@
Type:
-
-

<readonly> width :number

- +
+

+ <readonly> width : number + +

@@ -2578,7 +2630,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 470 + src/physics/ninja/Body.js line 470 @@ -2594,9 +2646,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -2653,7 +2707,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 438 + src/physics/ninja/Body.js line 438 @@ -2669,9 +2723,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -2728,7 +2784,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 454 + src/physics/ninja/Body.js line 454 @@ -2751,7 +2807,7 @@

Methods

-

+

deltaAbsX()

@@ -2806,7 +2862,7 @@

Source:
- src/physics/ninja/Body.js line 381 + src/physics/ninja/Body.js line 381 @@ -2859,7 +2915,7 @@
Returns:
-

+

deltaAbsY()

@@ -2914,7 +2970,7 @@

Source:
- src/physics/ninja/Body.js line 391 + src/physics/ninja/Body.js line 391 @@ -2967,7 +3023,7 @@
Returns:
-

+

deltaX()

@@ -3022,7 +3078,7 @@

Source:
- src/physics/ninja/Body.js line 401 + src/physics/ninja/Body.js line 401 @@ -3075,7 +3131,7 @@
Returns:
-

+

deltaY()

@@ -3130,7 +3186,7 @@

Source:
- src/physics/ninja/Body.js line 411 + src/physics/ninja/Body.js line 411 @@ -3183,7 +3239,7 @@
Returns:
-

+

destroy()

@@ -3238,7 +3294,7 @@

Source:
- src/physics/ninja/Body.js line 421 + src/physics/ninja/Body.js line 421 @@ -3267,7 +3323,7 @@

-

+

<protected> postUpdate()

@@ -3322,7 +3378,7 @@

Source:
- src/physics/ninja/Body.js line 214 + src/physics/ninja/Body.js line 214 @@ -3351,7 +3407,7 @@

-

+

<protected> preUpdate()

@@ -3406,7 +3462,7 @@

Source:
- src/physics/ninja/Body.js line 184 + src/physics/ninja/Body.js line 184 @@ -3435,7 +3491,7 @@

-

+

render(context, body [, color] [, filled])

@@ -3672,7 +3728,7 @@
Parameters:
Source:
- src/physics/ninja/Body.js line 548 + src/physics/ninja/Body.js line 548 @@ -3701,7 +3757,7 @@
Parameters:
-

+

reset()

@@ -3756,7 +3812,7 @@

Source:
- src/physics/ninja/Body.js line 365 + src/physics/ninja/Body.js line 365 @@ -3785,7 +3841,7 @@

-

+

setZeroVelocity()

@@ -3840,7 +3896,7 @@

Source:
- src/physics/ninja/Body.js line 257 + src/physics/ninja/Body.js line 257 @@ -3883,9 +3939,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -3902,9 +3958,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3916,7 +3972,7 @@

- +
@@ -3931,7 +3987,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Circle.html b/docs/Phaser.Physics.Ninja.Circle.html index bfc94d06b..8db546851 100644 --- a/docs/Phaser.Physics.Ninja.Circle.html +++ b/docs/Phaser.Physics.Ninja.Circle.html @@ -6,7 +6,7 @@ Phaser CE Class: Circle - + @@ -125,7 +125,7 @@

-

+

new Circle(body, x, y, radius)

@@ -303,7 +303,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 19 + src/physics/ninja/Circle.js line 19 @@ -347,9 +347,11 @@

Members

-
-

body

- +
+

+ body + +

@@ -444,7 +446,7 @@
Properties:
Source:
- src/physics/ninja/Circle.js line 24 + src/physics/ninja/Circle.js line 24 @@ -460,9 +462,11 @@
Properties:
-
-

circleTileProjections :object

- +
+

+ circleTileProjections : object + +

@@ -519,7 +523,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 90 + src/physics/ninja/Circle.js line 90 @@ -535,9 +539,11 @@
Type:
-
-

<readonly> height :number

- +
+

+ <readonly> height : number + +

@@ -594,7 +600,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 68 + src/physics/ninja/Circle.js line 68 @@ -610,9 +616,11 @@
Type:
-
-

oldpos :Phaser.Point

- +
+

+ oldpos : Phaser.Point + +

@@ -669,7 +677,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 39 + src/physics/ninja/Circle.js line 39 @@ -685,9 +693,11 @@
Type:
-
-

pos :Phaser.Point

- +
+

+ pos : Phaser.Point + +

@@ -744,7 +754,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 34 + src/physics/ninja/Circle.js line 34 @@ -760,9 +770,11 @@
Type:
-
-

radius :number

- +
+

+ radius : number + +

@@ -819,7 +831,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 44 + src/physics/ninja/Circle.js line 44 @@ -835,9 +847,11 @@
Type:
-
-

system :Phaser.Physics.Ninja

- +
+

+ system : Phaser.Physics.Ninja + +

@@ -894,7 +908,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 29 + src/physics/ninja/Circle.js line 29 @@ -910,9 +924,11 @@
Type:
-
-

velocity :Phaser.Point

- +
+

+ velocity : Phaser.Point + +

@@ -969,7 +985,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 85 + src/physics/ninja/Circle.js line 85 @@ -985,9 +1001,11 @@
Type:
-
-

<readonly> width :number

- +
+

+ <readonly> width : number + +

@@ -1044,7 +1062,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 62 + src/physics/ninja/Circle.js line 62 @@ -1060,9 +1078,11 @@
Type:
-
-

<readonly> xw :number

- +
+

+ <readonly> xw : number + +

@@ -1119,7 +1139,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 50 + src/physics/ninja/Circle.js line 50 @@ -1135,9 +1155,11 @@
Type:
-
-

<readonly> yw

- +
+

+ <readonly> yw + +

@@ -1232,7 +1254,7 @@
Properties:
Source:
- src/physics/ninja/Circle.js line 56 + src/physics/ninja/Circle.js line 56 @@ -1255,7 +1277,7 @@

Methods

-

+

collideCircleVsTile(t)

@@ -1360,7 +1382,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 248 + src/physics/ninja/Circle.js line 248 @@ -1413,7 +1435,7 @@
Returns:
-

+

collideWorldBounds()

@@ -1468,7 +1490,7 @@

Source:
- src/physics/ninja/Circle.js line 207 + src/physics/ninja/Circle.js line 207 @@ -1497,7 +1519,7 @@

-

+

destroy()

@@ -1552,7 +1574,7 @@

Source:
- src/physics/ninja/Circle.js line 2612 + src/physics/ninja/Circle.js line 2612 @@ -1581,7 +1603,7 @@

-

+

integrate()

@@ -1636,7 +1658,7 @@

Source:
- src/physics/ninja/Circle.js line 112 + src/physics/ninja/Circle.js line 112 @@ -1665,7 +1687,7 @@

-

+

projCircle_22DegB(x, y, oH, oV, obj, t)

@@ -1890,7 +1912,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1719 + src/physics/ninja/Circle.js line 1719 @@ -1943,7 +1965,7 @@
Returns:
-

+

projCircle_22DegS(x, y, oH, oV, obj, t)

@@ -2168,7 +2190,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1427 + src/physics/ninja/Circle.js line 1427 @@ -2221,7 +2243,7 @@
Returns:
-

+

projCircle_45Deg(x, y, oH, oV, obj, t)

@@ -2446,7 +2468,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 447 + src/physics/ninja/Circle.js line 447 @@ -2499,7 +2521,7 @@
Returns:
-

+

projCircle_67DegB(x, y, oH, oV, obj, t)

@@ -2724,7 +2746,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2307 + src/physics/ninja/Circle.js line 2307 @@ -2777,7 +2799,7 @@
Returns:
-

+

projCircle_67DegS(x, y, oH, oV, obj, t)

@@ -3002,7 +3024,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2022 + src/physics/ninja/Circle.js line 2022 @@ -3055,7 +3077,7 @@
Returns:
-

+

projCircle_Concave(x, y, oH, oV, obj, t)

@@ -3280,7 +3302,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 717 + src/physics/ninja/Circle.js line 717 @@ -3333,7 +3355,7 @@
Returns:
-

+

projCircle_Convex(x, y, oH, oV, obj, t)

@@ -3558,7 +3580,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 951 + src/physics/ninja/Circle.js line 951 @@ -3611,7 +3633,7 @@
Returns:
-

+

projCircle_Full(x, y, oH, oV, obj, t)

@@ -3836,7 +3858,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 335 + src/physics/ninja/Circle.js line 335 @@ -3889,7 +3911,7 @@
Returns:
-

+

projCircle_Half(x, y, oH, oV, obj, t)

@@ -4114,7 +4136,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1193 + src/physics/ninja/Circle.js line 1193 @@ -4167,7 +4189,7 @@
Returns:
-

+

render(context, xOffset, yOffset, color, filled)

@@ -4368,7 +4390,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2622 + src/physics/ninja/Circle.js line 2622 @@ -4397,7 +4419,7 @@
Parameters:
-

+

reportCollisionVsWorld(px, py, dx, dy, obj)

@@ -4598,7 +4620,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 132 + src/physics/ninja/Circle.js line 132 @@ -4627,7 +4649,7 @@
Parameters:
-

+

resolveCircleTile(x, y, oH, oV, obj, t)

@@ -4852,7 +4874,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 310 + src/physics/ninja/Circle.js line 310 @@ -4919,9 +4941,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -4938,9 +4960,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -4952,7 +4974,7 @@
Returns:
- +
@@ -4967,7 +4989,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.Tile.html b/docs/Phaser.Physics.Ninja.Tile.html index bf7f2e75f..b4df5c42b 100644 --- a/docs/Phaser.Physics.Ninja.Tile.html +++ b/docs/Phaser.Physics.Ninja.Tile.html @@ -6,7 +6,7 @@ Phaser CE Class: Tile - + @@ -125,7 +125,7 @@

-

+

new Tile(body, x, y, width, height [, type])

@@ -434,7 +434,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 25 + src/physics/ninja/Tile.js line 25 @@ -478,9 +478,11 @@

Members

-
-

body

- +
+

+ body + +

@@ -575,7 +577,7 @@
Properties:
Source:
- src/physics/ninja/Tile.js line 32 + src/physics/ninja/Tile.js line 32 @@ -591,9 +593,11 @@
Properties:
-
-

<readonly> bottom :number

- +
+

+ <readonly> bottom : number + +

@@ -650,7 +654,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 701 + src/physics/ninja/Tile.js line 701 @@ -666,9 +670,11 @@
Type:
-
-

<readonly> height :number

- +
+

+ <readonly> height : number + +

@@ -725,7 +731,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 89 + src/physics/ninja/Tile.js line 89 @@ -741,9 +747,11 @@
Type:
-
-

<readonly> id :number

- +
+

+ <readonly> id : number + +

@@ -800,7 +808,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 43 + src/physics/ninja/Tile.js line 43 @@ -816,9 +824,11 @@
Type:
-
-

oldpos :Phaser.Point

- +
+

+ oldpos : Phaser.Point + +

@@ -875,7 +885,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 59 + src/physics/ninja/Tile.js line 59 @@ -891,9 +901,11 @@
Type:
-
-

pos :Phaser.Point

- +
+

+ pos : Phaser.Point + +

@@ -950,7 +962,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 54 + src/physics/ninja/Tile.js line 54 @@ -966,9 +978,11 @@
Type:
-
+
@@ -1025,7 +1039,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 714 + src/physics/ninja/Tile.js line 714 @@ -1041,9 +1055,11 @@
Type:
-
-

system :Phaser.Physics.Ninja

- +
+

+ system : Phaser.Physics.Ninja + +

@@ -1100,7 +1116,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 37 + src/physics/ninja/Tile.js line 37 @@ -1116,9 +1132,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -1175,7 +1193,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 49 + src/physics/ninja/Tile.js line 49 @@ -1191,9 +1209,11 @@
Type:
-
-

velocity :Phaser.Point

- +
+

+ velocity : Phaser.Point + +

@@ -1250,7 +1270,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 94 + src/physics/ninja/Tile.js line 94 @@ -1266,9 +1286,11 @@
Type:
-
-

<readonly> width :number

- +
+

+ <readonly> width : number + +

@@ -1325,7 +1347,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 83 + src/physics/ninja/Tile.js line 83 @@ -1341,9 +1363,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -1400,7 +1424,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 669 + src/physics/ninja/Tile.js line 669 @@ -1416,9 +1440,11 @@
Type:
-
-

<readonly> xw :number

- +
+

+ <readonly> xw : number + +

@@ -1475,7 +1501,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 71 + src/physics/ninja/Tile.js line 71 @@ -1491,9 +1517,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -1550,7 +1578,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 685 + src/physics/ninja/Tile.js line 685 @@ -1566,9 +1594,11 @@
Type:
-
-

<readonly> yw

- +
+

+ <readonly> yw + +

@@ -1663,7 +1693,7 @@
Properties:
Source:
- src/physics/ninja/Tile.js line 77 + src/physics/ninja/Tile.js line 77 @@ -1686,7 +1716,7 @@

Methods

-

+

clear()

@@ -1741,7 +1771,7 @@

Source:
- src/physics/ninja/Tile.js line 290 + src/physics/ninja/Tile.js line 290 @@ -1770,7 +1800,7 @@

-

+

collideWorldBounds()

@@ -1825,7 +1855,7 @@

Source:
- src/physics/ninja/Tile.js line 153 + src/physics/ninja/Tile.js line 153 @@ -1854,7 +1884,7 @@

-

+

destroy()

@@ -1909,7 +1939,7 @@

Source:
- src/physics/ninja/Tile.js line 302 + src/physics/ninja/Tile.js line 302 @@ -1938,7 +1968,7 @@

-

+

integrate()

@@ -1993,7 +2023,7 @@

Source:
- src/physics/ninja/Tile.js line 135 + src/physics/ninja/Tile.js line 135 @@ -2022,7 +2052,7 @@

-

+

reportCollisionVsWorld(px, py, dx, dy, obj)

@@ -2223,7 +2253,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 194 + src/physics/ninja/Tile.js line 194 @@ -2252,7 +2282,7 @@
Parameters:
-

+

setType(id)

@@ -2357,7 +2387,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 268 + src/physics/ninja/Tile.js line 268 @@ -2400,9 +2430,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2419,9 +2449,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2433,7 +2463,7 @@
Parameters:
- +
@@ -2448,7 +2478,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.Ninja.html b/docs/Phaser.Physics.Ninja.html index 5c73a6177..c5f5e4603 100644 --- a/docs/Phaser.Physics.Ninja.html +++ b/docs/Phaser.Physics.Ninja.html @@ -6,7 +6,7 @@ Phaser CE Class: Ninja - + @@ -125,7 +125,7 @@

-

+

new Ninja(game)

@@ -243,7 +243,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 29 + src/physics/ninja/World.js line 29 @@ -303,9 +303,11 @@

Members

-
-

bounds :Phaser.Rectangle

- +
+

+ bounds : Phaser.Rectangle + +

@@ -362,7 +364,7 @@
Type:
Source:
- src/physics/ninja/World.js line 49 + src/physics/ninja/World.js line 49 @@ -378,9 +380,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -437,7 +441,7 @@
Type:
Source:
- src/physics/ninja/World.js line 34 + src/physics/ninja/World.js line 34 @@ -453,9 +457,11 @@
Type:
-
-

gravity :number

- +
+

+ gravity : number + +

@@ -512,7 +518,7 @@
Type:
Source:
- src/physics/ninja/World.js line 44 + src/physics/ninja/World.js line 44 @@ -528,9 +534,11 @@
Type:
-
-

maxLevels :number

- +
+

+ maxLevels : number + +

@@ -587,7 +595,7 @@
Type:
Source:
- src/physics/ninja/World.js line 59 + src/physics/ninja/World.js line 59 @@ -603,9 +611,11 @@
Type:
-
-

maxObjects :number

- +
+

+ maxObjects : number + +

@@ -662,7 +672,7 @@
Type:
Source:
- src/physics/ninja/World.js line 54 + src/physics/ninja/World.js line 54 @@ -678,9 +688,11 @@
Type:
-
-

quadTree :Phaser.QuadTree

- +
+

+ quadTree : Phaser.QuadTree + +

@@ -737,7 +749,7 @@
Type:
Source:
- src/physics/ninja/World.js line 64 + src/physics/ninja/World.js line 64 @@ -753,9 +765,11 @@
Type:
-
-

time :Phaser.Time

- +
+

+ time : Phaser.Time + +

@@ -812,7 +826,7 @@
Type:
Source:
- src/physics/ninja/World.js line 39 + src/physics/ninja/World.js line 39 @@ -835,7 +849,7 @@

Methods

-

+

clearTilemapLayerBodies(map [, layer])

@@ -990,7 +1004,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 224 + src/physics/ninja/World.js line 224 @@ -1019,7 +1033,7 @@
Parameters:
-

+

collide(object1, object2 [, collideCallback] [, processCallback] [, callbackContext])

@@ -1320,7 +1334,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 330 + src/physics/ninja/World.js line 330 @@ -1373,7 +1387,7 @@
Returns:
-

+

convertTilemap(map, layer, slopeMap)

@@ -1541,7 +1555,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 246 + src/physics/ninja/World.js line 246 @@ -1594,7 +1608,7 @@
Returns:
-

+

enable(object [, type] [, id] [, radius] [, children])

@@ -1882,7 +1896,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 121 + src/physics/ninja/World.js line 121 @@ -1911,7 +1925,7 @@
Parameters:
-

+

enableAABB(object [, children])

@@ -2079,7 +2093,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 75 + src/physics/ninja/World.js line 75 @@ -2108,7 +2122,7 @@
Parameters:
-

+

enableBody(object)

@@ -2214,7 +2228,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 181 + src/physics/ninja/World.js line 181 @@ -2243,7 +2257,7 @@
Parameters:
-

+

enableCircle(object, radius [, children])

@@ -2447,7 +2461,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 89 + src/physics/ninja/World.js line 89 @@ -2476,7 +2490,7 @@
Parameters:
-

+

enableTile(object [, id] [, children])

@@ -2686,7 +2700,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 104 + src/physics/ninja/World.js line 104 @@ -2715,7 +2729,7 @@
Parameters:
-

+

overlap(object1, object2 [, overlapCallback] [, processCallback] [, callbackContext])

@@ -3008,7 +3022,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 291 + src/physics/ninja/World.js line 291 @@ -3061,7 +3075,7 @@
Returns:
-

+

separate(body1, body2)

@@ -3190,7 +3204,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 567 + src/physics/ninja/World.js line 567 @@ -3243,7 +3257,7 @@
Returns:
-

+

setBounds(x, y, width, height)

@@ -3420,7 +3434,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 198 + src/physics/ninja/World.js line 198 @@ -3449,7 +3463,7 @@
Parameters:
-

+

setBoundsToWorld()

@@ -3504,7 +3518,7 @@

Source:
- src/physics/ninja/World.js line 213 + src/physics/ninja/World.js line 213 @@ -3547,9 +3561,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -3566,9 +3580,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3580,7 +3594,7 @@

- +
@@ -3595,7 +3609,7 @@

- + diff --git a/docs/Phaser.Physics.P2.Body.html b/docs/Phaser.Physics.P2.Body.html index 1008f1ad9..7eb0fd362 100644 --- a/docs/Phaser.Physics.P2.Body.html +++ b/docs/Phaser.Physics.P2.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -125,7 +125,7 @@

-

+

new Body(game [, sprite] [, x] [, y] [, mass])

@@ -409,7 +409,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 23 + src/physics/p2/Body.js line 23 @@ -453,9 +453,11 @@

Members

-
-

<static> DYNAMIC :Number

- +
+

+ <static> DYNAMIC : Number + +

@@ -512,7 +514,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1511 + src/physics/p2/Body.js line 1508 @@ -528,9 +530,11 @@
Type:
-
-

<static> KINEMATIC :Number

- +
+

+ <static> KINEMATIC : Number + +

@@ -587,7 +591,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1527 + src/physics/p2/Body.js line 1524 @@ -603,9 +607,11 @@
Type:
-
-

<static> STATIC :Number

- +
+

+ <static> STATIC : Number + +

@@ -662,7 +668,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1519 + src/physics/p2/Body.js line 1516 @@ -678,9 +684,11 @@
Type:
-
-

allowSleep :boolean

- +
+

+ allowSleep : boolean + +

@@ -737,7 +745,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1616 + src/physics/p2/Body.js line 1613 @@ -753,9 +761,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -814,7 +824,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1639 + src/physics/p2/Body.js line 1636 @@ -830,9 +840,11 @@
Type:
-
-

angularDamping :number

- +
+

+ angularDamping : number + +

@@ -889,7 +901,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1663 + src/physics/p2/Body.js line 1660 @@ -905,9 +917,11 @@
Type:
-
-

angularForce :number

- +
+

+ angularForce : number + +

@@ -964,7 +978,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1684 + src/physics/p2/Body.js line 1681 @@ -980,9 +994,11 @@
Type:
-
-

angularVelocity :number

- +
+

+ angularVelocity : number + +

@@ -1039,7 +1055,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1704 + src/physics/p2/Body.js line 1701 @@ -1055,9 +1071,11 @@
Type:
-
-

collidesWith :array

- +
+

+ collidesWith : array + +

@@ -1114,7 +1132,7 @@
Type:
Source:
- src/physics/p2/Body.js line 112 + src/physics/p2/Body.js line 112 @@ -1130,9 +1148,11 @@
Type:
-
-

collideWorldBounds :boolean

- +
+

+ collideWorldBounds : boolean + +

@@ -1199,7 +1219,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1962 + src/physics/p2/Body.js line 1959 @@ -1215,9 +1235,11 @@
Type:
-
-

damping :number

- +
+

+ damping : number + +

@@ -1274,7 +1296,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1724 + src/physics/p2/Body.js line 1721 @@ -1290,9 +1312,11 @@
Type:
-
-

<protected> data :p2.Body

- +
+

+ <protected> data : p2.Body + +

@@ -1349,7 +1373,7 @@
Type:
Source:
- src/physics/p2/Body.js line 59 + src/physics/p2/Body.js line 59 @@ -1365,9 +1389,11 @@
Type:
-
-

debug :boolean

- +
+

+ debug : boolean + +

@@ -1424,7 +1450,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1933 + src/physics/p2/Body.js line 1930 @@ -1440,9 +1466,11 @@
Type:
-
-

debugBody :Phaser.Physics.P2.BodyDebug

- +
+

+ debugBody : Phaser.Physics.P2.BodyDebug + +

@@ -1499,7 +1527,7 @@
Type:
Source:
- src/physics/p2/Body.js line 122 + src/physics/p2/Body.js line 122 @@ -1515,9 +1543,11 @@
Type:
-
-

dirty :boolean

- +
+

+ dirty : boolean + +

@@ -1574,7 +1604,7 @@
Type:
Source:
- src/physics/p2/Body.js line 127 + src/physics/p2/Body.js line 127 @@ -1590,9 +1620,11 @@
Type:
-
-

dynamic :boolean

- +
+

+ dynamic : boolean + +

@@ -1649,7 +1681,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1558 + src/physics/p2/Body.js line 1555 @@ -1665,9 +1697,11 @@
Type:
-
-

fixedRotation :boolean

- +
+

+ fixedRotation : boolean + +

@@ -1724,7 +1758,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1745 + src/physics/p2/Body.js line 1742 @@ -1740,9 +1774,11 @@
Type:
-
-

force :Phaser.Physics.P2.InversePointProxy

- +
+

+ force : Phaser.Physics.P2.InversePointProxy + +

@@ -1799,7 +1835,7 @@
Type:
Source:
- src/physics/p2/Body.js line 71 + src/physics/p2/Body.js line 71 @@ -1815,9 +1851,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -1874,7 +1912,7 @@
Type:
Source:
- src/physics/p2/Body.js line 33 + src/physics/p2/Body.js line 33 @@ -1890,9 +1928,11 @@
Type:
-
-

gravity :Phaser.Point

- +
+

+ gravity : Phaser.Point + +

@@ -1949,7 +1989,7 @@
Type:
Source:
- src/physics/p2/Body.js line 76 + src/physics/p2/Body.js line 76 @@ -1965,9 +2005,11 @@
Type:
-
-

<readonly> id :number

- +
+

+ <readonly> id : number + +

@@ -2024,7 +2066,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1918 + src/physics/p2/Body.js line 1915 @@ -2040,9 +2082,11 @@
Type:
-
-

inertia :number

- +
+

+ inertia : number + +

@@ -2099,7 +2143,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1768 + src/physics/p2/Body.js line 1765 @@ -2115,9 +2159,11 @@
Type:
-
-

kinematic :boolean

- +
+

+ kinematic : boolean + +

@@ -2174,7 +2220,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1587 + src/physics/p2/Body.js line 1584 @@ -2190,9 +2236,11 @@
Type:
-
-

mass :number

- +
+

+ mass : number + +

@@ -2249,7 +2297,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1788 + src/physics/p2/Body.js line 1785 @@ -2265,9 +2313,11 @@
Type:
-
-

motionState :number

- +
+

+ motionState : number + +

@@ -2324,7 +2374,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1812 + src/physics/p2/Body.js line 1809 @@ -2340,9 +2390,11 @@
Type:
-
-

offset :Phaser.Point

- +
+

+ offset : Phaser.Point + +

@@ -2399,7 +2451,7 @@
Type:
Source:
- src/physics/p2/Body.js line 53 + src/physics/p2/Body.js line 53 @@ -2415,9 +2467,11 @@
Type:
-
-

onBeginContact :Phaser.Signal

- +
+

+ onBeginContact : Phaser.Signal + +

@@ -2481,7 +2535,7 @@
Type:
Source:
- src/physics/p2/Body.js line 92 + src/physics/p2/Body.js line 92 @@ -2497,9 +2551,11 @@
Type:
-
-

onEndContact :Phaser.Signal

- +
+

+ onEndContact : Phaser.Signal + +

@@ -2562,7 +2618,7 @@
Type:
Source:
- src/physics/p2/Body.js line 107 + src/physics/p2/Body.js line 107 @@ -2578,9 +2634,11 @@
Type:
-
-

removeNextStep :boolean

- +
+

+ removeNextStep : boolean + +

@@ -2637,7 +2695,7 @@
Type:
Source:
- src/physics/p2/Body.js line 117 + src/physics/p2/Body.js line 117 @@ -2653,9 +2711,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -2713,7 +2773,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1835 + src/physics/p2/Body.js line 1832 @@ -2729,9 +2789,11 @@
Type:
-
-

sleepSpeedLimit :number

- +
+

+ sleepSpeedLimit : number + +

@@ -2788,7 +2850,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1858 + src/physics/p2/Body.js line 1855 @@ -2804,9 +2866,11 @@
Type:
-
-

sprite :Phaser.Sprite

- +
+

+ sprite : Phaser.Sprite + +

@@ -2863,7 +2927,7 @@
Type:
Source:
- src/physics/p2/Body.js line 43 + src/physics/p2/Body.js line 43 @@ -2879,9 +2943,11 @@
Type:
-
-

static :boolean

- +
+

+ static : boolean + +

@@ -2938,7 +3004,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1529 + src/physics/p2/Body.js line 1526 @@ -2954,9 +3020,11 @@
Type:
-
-

type :number

- +
+

+ type : number + +

@@ -3013,7 +3081,7 @@
Type:
Source:
- src/physics/p2/Body.js line 48 + src/physics/p2/Body.js line 48 @@ -3029,9 +3097,11 @@
Type:
-
-

velocity :Phaser.Physics.P2.InversePointProxy

- +
+

+ velocity : Phaser.Physics.P2.InversePointProxy + +

@@ -3088,7 +3158,7 @@
Type:
Source:
- src/physics/p2/Body.js line 66 + src/physics/p2/Body.js line 66 @@ -3104,9 +3174,11 @@
Type:
-
-

world :Phaser.Physics.P2

- +
+

+ world : Phaser.Physics.P2 + +

@@ -3163,7 +3235,7 @@
Type:
Source:
- src/physics/p2/Body.js line 38 + src/physics/p2/Body.js line 38 @@ -3179,9 +3251,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -3238,7 +3312,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1878 + src/physics/p2/Body.js line 1875 @@ -3254,9 +3328,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -3313,7 +3389,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1898 + src/physics/p2/Body.js line 1895 @@ -3336,7 +3412,7 @@

Methods

-

+

addCapsule(length, radius [, offsetX] [, offsetY] [, rotation])

@@ -3614,7 +3690,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1109 + src/physics/p2/Body.js line 1109 @@ -3667,7 +3743,7 @@
Returns:
-

+

addCircle(radius [, offsetX] [, offsetY] [, rotation])

@@ -3908,7 +3984,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1018 + src/physics/p2/Body.js line 1018 @@ -3961,7 +4037,7 @@
Returns:
-

+

addFixture(fixtureData)

@@ -4066,7 +4142,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1353 + src/physics/p2/Body.js line 1351 @@ -4119,7 +4195,7 @@
Returns:
-

+

addLine(length [, offsetX] [, offsetY] [, rotation])

@@ -4362,7 +4438,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1089 + src/physics/p2/Body.js line 1089 @@ -4415,7 +4491,7 @@
Returns:
-

+

addParticle( [offsetX] [, offsetY] [, rotation])

@@ -4620,7 +4696,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1072 + src/physics/p2/Body.js line 1072 @@ -4673,7 +4749,7 @@
Returns:
-

+

addPhaserPolygon(key, object)

@@ -4805,7 +4881,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1313 + src/physics/p2/Body.js line 1311 @@ -4858,7 +4934,7 @@
Returns:
-

+

addPlane( [offsetX] [, offsetY] [, rotation])

@@ -5063,7 +5139,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1055 + src/physics/p2/Body.js line 1055 @@ -5116,7 +5192,7 @@
Returns:
-

+

addPolygon(options, points)

@@ -5404,7 +5480,7 @@
Properties
Source:
- src/physics/p2/Body.js line 1129 + src/physics/p2/Body.js line 1129 @@ -5457,7 +5533,7 @@
Returns:
-

+

addRectangle(width, height [, offsetX] [, offsetY] [, rotation])

@@ -5734,7 +5810,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1036 + src/physics/p2/Body.js line 1036 @@ -5787,7 +5863,7 @@
Returns:
-

+

addShape(shape [, offsetX] [, offsetY] [, rotation])

@@ -6030,7 +6106,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 992 + src/physics/p2/Body.js line 992 @@ -6083,7 +6159,7 @@
Returns:
-

+

addToWorld()

@@ -6138,7 +6214,7 @@

Source:
- src/physics/p2/Body.js line 904 + src/physics/p2/Body.js line 904 @@ -6167,7 +6243,7 @@

-

+

adjustCenterOfMass()

@@ -6222,7 +6298,7 @@

Source:
- src/physics/p2/Body.js line 490 + src/physics/p2/Body.js line 490 @@ -6251,7 +6327,7 @@

-

+

applyDamping(dt)

@@ -6356,7 +6432,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 516 + src/physics/p2/Body.js line 516 @@ -6385,7 +6461,7 @@
Parameters:
-

+

applyForce(force, worldX, worldY)

@@ -6543,7 +6619,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 561 + src/physics/p2/Body.js line 561 @@ -6572,7 +6648,7 @@
Parameters:
-

+

applyImpulse(impulse, worldX, worldY)

@@ -6730,7 +6806,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 528 + src/physics/p2/Body.js line 528 @@ -6759,7 +6835,7 @@
Parameters:
-

+

applyImpulseLocal(impulse, localX, localY)

@@ -6917,7 +6993,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 544 + src/physics/p2/Body.js line 544 @@ -6946,7 +7022,7 @@
Parameters:
-

+

clearCollision( [clearGroup] [, clearMask] [, shape])

@@ -7149,7 +7225,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 323 + src/physics/p2/Body.js line 323 @@ -7178,7 +7254,7 @@
Parameters:
-

+

clearShapes()

@@ -7233,7 +7309,7 @@

Source:
- src/physics/p2/Body.js line 974 + src/physics/p2/Body.js line 974 @@ -7262,7 +7338,7 @@

-

+

collides(group [, callback] [, callbackContext] [, shape])

@@ -7482,7 +7558,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 435 + src/physics/p2/Body.js line 435 @@ -7511,7 +7587,7 @@
Parameters:
-

+

createBodyCallback(object, callback, callbackContext)

@@ -7676,7 +7752,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 180 + src/physics/p2/Body.js line 180 @@ -7705,7 +7781,7 @@
Parameters:
-

+

createGroupCallback(group, callback, callbackContext)

@@ -7862,7 +7938,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 220 + src/physics/p2/Body.js line 220 @@ -7891,7 +7967,7 @@
Parameters:
-

+

destroy()

@@ -7946,7 +8022,7 @@

Source:
- src/physics/p2/Body.js line 943 + src/physics/p2/Body.js line 943 @@ -7975,7 +8051,7 @@

-

+

getCollisionMask()

@@ -8030,7 +8106,7 @@

Source:
- src/physics/p2/Body.js line 247 + src/physics/p2/Body.js line 247 @@ -8083,7 +8159,7 @@
Returns:
-

+

getVelocityAtPoint(result, relativePoint)

@@ -8212,7 +8288,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 502 + src/physics/p2/Body.js line 502 @@ -8265,8 +8341,8 @@
Returns:
-

- loadPolygon(key, object [, scale] [, rotation]) +

+ loadPolygon(key, object [, scale])

@@ -8431,46 +8507,6 @@
Parameters:
- - - - rotation - - - - - -number - - - - - - - - - - <optional>
- - - - - - - - - - - - 0 - - - - -

Local rotation of the shape relative to the body center of mass, specified in radians.

- - - @@ -8510,7 +8546,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1425 + src/physics/p2/Body.js line 1423 @@ -8563,7 +8599,7 @@
Returns:
-

+

moveBackward(speed)

@@ -8669,7 +8705,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 691 + src/physics/p2/Body.js line 691 @@ -8698,7 +8734,7 @@
Parameters:
-

+

moveDown(speed)

@@ -8804,7 +8840,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 815 + src/physics/p2/Body.js line 815 @@ -8833,7 +8869,7 @@
Parameters:
-

+

moveForward(speed)

@@ -8939,7 +8975,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 674 + src/physics/p2/Body.js line 674 @@ -8968,7 +9004,7 @@
Parameters:
-

+

moveLeft(speed)

@@ -9074,7 +9110,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 776 + src/physics/p2/Body.js line 776 @@ -9103,7 +9139,7 @@
Parameters:
-

+

moveRight(speed)

@@ -9209,7 +9245,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 789 + src/physics/p2/Body.js line 789 @@ -9238,7 +9274,7 @@
Parameters:
-

+

moveUp(speed)

@@ -9344,7 +9380,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 802 + src/physics/p2/Body.js line 802 @@ -9373,7 +9409,7 @@
Parameters:
-

+

<protected> postUpdate()

@@ -9428,7 +9464,7 @@

Source:
- src/physics/p2/Body.js line 846 + src/physics/p2/Body.js line 846 @@ -9457,7 +9493,7 @@

-

+

<protected> preUpdate()

@@ -9512,7 +9548,7 @@

Source:
- src/physics/p2/Body.js line 828 + src/physics/p2/Body.js line 828 @@ -9541,7 +9577,7 @@

-

+

removeCollisionGroup(group [, clearCallback] [, shape])

@@ -9743,7 +9779,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 371 + src/physics/p2/Body.js line 371 @@ -9772,7 +9808,7 @@
Parameters:
-

+

removeFromWorld()

@@ -9827,7 +9863,7 @@

Source:
- src/physics/p2/Body.js line 929 + src/physics/p2/Body.js line 929 @@ -9856,7 +9892,7 @@

-

+

removeShape(shape)

@@ -9973,7 +10009,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1195 + src/physics/p2/Body.js line 1195 @@ -10026,7 +10062,7 @@
Returns:
-

+

reset(x, y [, resetDamping] [, resetMass])

@@ -10263,7 +10299,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 871 + src/physics/p2/Body.js line 871 @@ -10292,7 +10328,7 @@
Parameters:
-

+

reverse(speed)

@@ -10398,7 +10434,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 759 + src/physics/p2/Body.js line 759 @@ -10427,7 +10463,7 @@
Parameters:
-

+

rotateLeft(speed)

@@ -10532,7 +10568,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 650 + src/physics/p2/Body.js line 650 @@ -10561,7 +10597,7 @@
Parameters:
-

+

rotateRight(speed)

@@ -10666,7 +10702,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 662 + src/physics/p2/Body.js line 662 @@ -10695,7 +10731,7 @@
Parameters:
-

+

setCircle(radius [, offsetX] [, offsetY] [, rotation])

@@ -10937,7 +10973,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1211 + src/physics/p2/Body.js line 1211 @@ -10966,7 +11002,7 @@
Parameters:
-

+

setCollisionGroup(group [, shape])

@@ -11116,7 +11152,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 295 + src/physics/p2/Body.js line 295 @@ -11145,7 +11181,7 @@
Parameters:
-

+

setMaterial(material [, shape])

@@ -11295,7 +11331,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1273 + src/physics/p2/Body.js line 1273 @@ -11324,7 +11360,7 @@
Parameters:
-

+

setRectangle( [width] [, height] [, offsetX] [, offsetY] [, rotation])

@@ -11611,7 +11647,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1229 + src/physics/p2/Body.js line 1229 @@ -11664,7 +11700,7 @@
Returns:
-

+

setRectangleFromSprite( [sprite])

@@ -11787,7 +11823,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1253 + src/physics/p2/Body.js line 1253 @@ -11840,7 +11876,7 @@
Returns:
-

+

setZeroDamping()

@@ -11895,7 +11931,7 @@

Source:
- src/physics/p2/Body.js line 612 + src/physics/p2/Body.js line 612 @@ -11924,7 +11960,7 @@

-

+

setZeroForce()

@@ -11979,7 +12015,7 @@

Source:
- src/physics/p2/Body.js line 578 + src/physics/p2/Body.js line 578 @@ -12008,7 +12044,7 @@

-

+

setZeroRotation()

@@ -12063,7 +12099,7 @@

Source:
- src/physics/p2/Body.js line 589 + src/physics/p2/Body.js line 589 @@ -12092,7 +12128,7 @@

-

+

setZeroVelocity()

@@ -12147,7 +12183,7 @@

Source:
- src/physics/p2/Body.js line 600 + src/physics/p2/Body.js line 600 @@ -12176,8 +12212,8 @@

-

- shapeChanged( [rotation]) +

+ shapeChanged()

@@ -12186,7 +12222,7 @@

-

Updates the debug draw if any body shapes change. Always update the angle data prior to debug drawing the shape.

+

Updates the debug draw if any body shapes change.

@@ -12196,76 +12232,6 @@

-

Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDefaultDescription
rotation - - -number - - - - - - - <optional>
- - - - - -
- - 0 - -

Local rotation of the shape relative to the body center of mass, specified in radians.

- -
@@ -12301,7 +12267,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1297 + src/physics/p2/Body.js line 1297 @@ -12330,7 +12296,7 @@
Parameters:
-

+

thrust(speed)

@@ -12436,7 +12402,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 708 + src/physics/p2/Body.js line 708 @@ -12465,7 +12431,7 @@
Parameters:
-

+

thrustLeft(speed)

@@ -12571,7 +12537,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 725 + src/physics/p2/Body.js line 725 @@ -12600,7 +12566,7 @@
Parameters:
-

+

thrustRight(speed)

@@ -12706,7 +12672,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 742 + src/physics/p2/Body.js line 742 @@ -12735,7 +12701,7 @@
Parameters:
-

+

toLocalFrame(out, worldPoint)

@@ -12870,7 +12836,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 624 + src/physics/p2/Body.js line 624 @@ -12899,7 +12865,7 @@
Parameters:
-

+

toWorldFrame(out, localPoint)

@@ -13028,7 +12994,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 637 + src/physics/p2/Body.js line 637 @@ -13057,7 +13023,7 @@
Parameters:
-

+

updateCollisionMask( [shape])

@@ -13174,7 +13140,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 271 + src/physics/p2/Body.js line 271 @@ -13217,9 +13183,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -13236,9 +13202,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -13250,7 +13216,7 @@
Parameters:
- +
@@ -13265,7 +13231,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.BodyDebug.html b/docs/Phaser.Physics.P2.BodyDebug.html index c4364863c..2ed385648 100644 --- a/docs/Phaser.Physics.P2.BodyDebug.html +++ b/docs/Phaser.Physics.P2.BodyDebug.html @@ -6,7 +6,7 @@ Phaser CE Class: BodyDebug - + @@ -125,7 +125,7 @@

-

+

new BodyDebug(game, body, settings)

@@ -283,7 +283,7 @@
Parameters:
Source:
- src/physics/p2/BodyDebug.js line 24 + src/physics/p2/BodyDebug.js line 24 @@ -338,9 +338,11 @@

Members

-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -413,7 +415,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -429,9 +431,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -497,7 +501,7 @@
Type:
Source:
- src/core/Group.js line 3167 + src/core/Group.js line 3167 @@ -513,9 +517,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -584,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 2827 + src/core/Group.js line 2827 @@ -600,9 +606,11 @@
Type:
-
-

body :Phaser.Physics.P2.Body

- +
+

+ body : Phaser.Physics.P2.Body + +

@@ -659,7 +667,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 50 + src/physics/p2/BodyDebug.js line 50 @@ -675,9 +683,11 @@
Type:
-
-

bottom :number

- +
+

+ bottom : number + +

@@ -745,7 +755,7 @@
Type:
Source:
- src/core/Group.js line 2990 + src/core/Group.js line 2990 @@ -761,9 +771,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -836,7 +848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -852,9 +864,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -921,7 +935,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -937,9 +951,11 @@
Type:
-
-

canvas :Phaser.Graphics

- +
+

+ canvas : Phaser.Graphics + +

@@ -996,7 +1012,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 55 + src/physics/p2/BodyDebug.js line 55 @@ -1012,9 +1028,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -1082,7 +1100,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1098,9 +1116,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -1168,7 +1188,7 @@
Type:
Source:
- src/core/Group.js line 2878 + src/core/Group.js line 2878 @@ -1184,9 +1204,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1252,7 +1274,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1268,9 +1290,11 @@
Type:
-
-

classType :function

- +
+

+ classType : function + +

@@ -1344,7 +1368,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1360,9 +1384,11 @@
Type:
-
-

cursor :DisplayObject

- +
+

+ cursor : DisplayObject + +

@@ -1429,7 +1455,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1445,9 +1471,11 @@
Type:
-
-

<readonly> cursorIndex :integer

- +
+

+ <readonly> cursorIndex : integer + +

@@ -1513,7 +1541,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1529,9 +1557,11 @@
Type:
-
-

enableBody :boolean

- +
+

+ enableBody : boolean + +

@@ -1599,7 +1629,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1615,9 +1645,11 @@
Type:
-
-

enableBodyDebug :boolean

- +
+

+ enableBodyDebug : boolean + +

@@ -1684,7 +1716,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -1700,9 +1732,11 @@
Type:
-
-

exists :boolean

- +
+

+ exists : boolean + +

@@ -1775,7 +1809,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -1791,9 +1825,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -1859,7 +1895,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -1875,9 +1911,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -1948,7 +1986,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -1964,9 +2002,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -2034,7 +2074,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2050,9 +2090,11 @@
Type:
-
-

<protected> game :Phaser.Game

- +
+

+ <protected> game : Phaser.Game + +

@@ -2118,7 +2160,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2134,9 +2176,11 @@
Type:
-
-

hash :array

- +
+

+ hash : array + +

@@ -2206,7 +2250,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2222,9 +2266,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -2300,7 +2346,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2316,9 +2362,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -2386,7 +2434,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2402,9 +2450,11 @@
Type:
-
-

ignoreDestroy :boolean

- +
+

+ ignoreDestroy : boolean + +

@@ -2470,7 +2520,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2486,9 +2536,11 @@
Type:
-
-

inputEnableChildren :boolean

- +
+

+ inputEnableChildren : boolean + +

@@ -2556,7 +2608,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -2572,9 +2624,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -2642,7 +2696,7 @@
Type:
Source:
- src/core/Group.js line 2906 + src/core/Group.js line 2906 @@ -2658,9 +2712,11 @@
Type:
-
-

<readonly> length :integer

- +
+

+ <readonly> length : integer + +

@@ -2726,7 +2782,7 @@
Type:
Source:
- src/core/Group.js line 2810 + src/core/Group.js line 2810 @@ -2742,9 +2798,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -2813,7 +2871,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -2829,9 +2887,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -2897,7 +2957,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -2913,9 +2973,11 @@
Type:
-
-

onChildInputDown :Phaser.Signal

- +
+

+ onChildInputDown : Phaser.Signal + +

@@ -2985,7 +3047,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3001,9 +3063,11 @@
Type:
-
-

onChildInputOut :Phaser.Signal

- +
+

+ onChildInputOut : Phaser.Signal + +

@@ -3073,7 +3137,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3089,9 +3153,11 @@
Type:
-
-

onChildInputOver :Phaser.Signal

- +
+

+ onChildInputOver : Phaser.Signal + +

@@ -3161,7 +3227,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3177,9 +3243,11 @@
Type:
-
-

onChildInputUp :Phaser.Signal

- +
+

+ onChildInputUp : Phaser.Signal + +

@@ -3250,7 +3318,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3266,9 +3334,11 @@
Type:
-
-

onDestroy :Phaser.Signal

- +
+

+ onDestroy : Phaser.Signal + +

@@ -3334,7 +3404,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3350,9 +3420,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -3421,7 +3493,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3437,9 +3509,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -3509,7 +3583,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3525,9 +3599,11 @@
Type:
-
-

physicsBodyType :integer

- +
+

+ physicsBodyType : integer + +

@@ -3594,7 +3670,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -3610,9 +3686,11 @@
Type:
-
-

physicsSortDirection :integer

- +
+

+ physicsSortDirection : integer + +

@@ -3685,7 +3763,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -3701,9 +3779,11 @@
Type:
-
-

<readonly> physicsType :number

- +
+

+ <readonly> physicsType : number + +

@@ -3769,7 +3849,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -3785,9 +3865,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -3854,7 +3936,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -3870,9 +3952,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -3940,7 +4024,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -3956,9 +4040,11 @@
Type:
-
-

ppu :number

- +
+

+ ppu : number + +

@@ -4015,7 +4101,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 44 + src/physics/p2/BodyDebug.js line 44 @@ -4031,9 +4117,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -4100,7 +4188,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4116,9 +4204,11 @@
Type:
-
+
@@ -4186,7 +4276,7 @@
Type:
Source:
- src/core/Group.js line 2934 + src/core/Group.js line 2934 @@ -4202,9 +4292,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -4272,7 +4364,7 @@
Type:
Source:
- src/core/Group.js line 3151 + src/core/Group.js line 3151 @@ -4288,9 +4380,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -4359,7 +4453,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4375,9 +4469,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -4445,7 +4541,7 @@
Type:
Source:
- src/core/Group.js line 2962 + src/core/Group.js line 2962 @@ -4461,9 +4557,11 @@
Type:
-
-

<readonly> total :integer

- +
+

+ <readonly> total : integer + +

@@ -4529,7 +4627,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -4545,9 +4643,11 @@
Type:
-
-

<protected> type :integer

- +
+

+ <protected> type : integer + +

@@ -4613,7 +4713,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -4629,9 +4729,11 @@
Type:
-
-

updateOnlyExistingChildren :boolean

- +
+

+ updateOnlyExistingChildren : boolean + +

@@ -4697,7 +4799,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -4713,9 +4815,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -4781,7 +4885,7 @@
Type:
Source:
- src/core/Group.js line 3160 + src/core/Group.js line 3160 @@ -4797,9 +4901,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -4871,7 +4977,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -4887,9 +4993,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -4960,7 +5068,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -4976,9 +5084,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -5049,7 +5159,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5065,9 +5175,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -5138,7 +5250,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5154,9 +5266,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -5227,7 +5341,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5243,9 +5357,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -5311,7 +5427,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5327,9 +5443,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -5397,7 +5515,7 @@
Type:
Source:
- src/core/Group.js line 3133 + src/core/Group.js line 3133 @@ -5413,9 +5531,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -5483,7 +5603,7 @@
Type:
Source:
- src/core/Group.js line 3142 + src/core/Group.js line 3142 @@ -5499,9 +5619,11 @@
Type:
-
-

<readonly> z :integer

- +
+

+ <readonly> z : integer + +

@@ -5568,7 +5690,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -5591,7 +5713,7 @@

Methods

-

+

add(child [, silent] [, index])

@@ -5806,7 +5928,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -5859,7 +5981,7 @@
Returns:
-

+

addAll(property, amount [, checkAlive] [, checkVisible])

@@ -6084,7 +6206,7 @@
Parameters:
Source:
- src/core/Group.js line 1431 + src/core/Group.js line 1431 @@ -6113,7 +6235,7 @@
Parameters:
-

+

addAt(child [, index] [, silent])

@@ -6326,7 +6448,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6379,7 +6501,7 @@
Returns:
-

+

addChild(child)

@@ -6493,7 +6615,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6546,7 +6668,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -6684,7 +6806,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -6737,7 +6859,7 @@
Returns:
-

+

addMultiple(children [, silent])

@@ -6915,7 +7037,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -6971,7 +7093,7 @@
Returns:
-

+

addToHash(child)

@@ -7086,7 +7208,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7139,7 +7261,7 @@
Returns:
-

+

align(width, height, cellWidth, cellHeight [, position] [, offset])

@@ -7481,7 +7603,7 @@
Parameters:
Source:
- src/core/Group.js line 689 + src/core/Group.js line 689 @@ -7534,7 +7656,7 @@
Returns:
-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -7824,7 +7946,7 @@
Parameters:
Source:
- src/core/Group.js line 3018 + src/core/Group.js line 3018 @@ -7877,7 +7999,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -8168,7 +8290,7 @@
Parameters:
Source:
- src/core/Group.js line 3060 + src/core/Group.js line 3060 @@ -8221,7 +8343,7 @@
Returns:
-

+

<protected> ascendingSortHandler(a, b)

@@ -8359,7 +8481,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -8388,7 +8510,7 @@
Parameters:
-

+

bringToTop(child)

@@ -8502,7 +8624,7 @@
Parameters:
Source:
- src/core/Group.js line 914 + src/core/Group.js line 914 @@ -8555,7 +8677,7 @@
Returns:
-

+

callAll(method [, context], args)

@@ -8765,7 +8887,7 @@
Parameters:
Source:
- src/core/Group.js line 1621 + src/core/Group.js line 1621 @@ -8794,7 +8916,7 @@
Parameters:
-

+

callAllExists(callback, existsValue, parameter)

@@ -8985,7 +9107,7 @@
Parameters:
Source:
- src/core/Group.js line 1537 + src/core/Group.js line 1537 @@ -9014,7 +9136,7 @@
Parameters:
-

+

<protected> callbackFromArray(child, callback, length)

@@ -9176,7 +9298,7 @@
Parameters:
Source:
- src/core/Group.js line 1571 + src/core/Group.js line 1571 @@ -9205,7 +9327,7 @@
Parameters:
-

+

checkAll(key, value [, checkAlive] [, checkVisible] [, force])

@@ -9492,7 +9614,7 @@
Parameters:
Source:
- src/core/Group.js line 1361 + src/core/Group.js line 1361 @@ -9547,7 +9669,7 @@
Returns:
-

+

checkAny(key, value [, checkAlive] [, checkVisible])

@@ -9794,7 +9916,7 @@
Parameters:
Source:
- src/core/Group.js line 1397 + src/core/Group.js line 1397 @@ -9849,7 +9971,7 @@
Returns:
-

+

checkProperty(child, key, value [, force])

@@ -10091,7 +10213,7 @@
Parameters:
Source:
- src/core/Group.js line 1224 + src/core/Group.js line 1224 @@ -10144,7 +10266,7 @@
Returns:
-

+

contains(child)

@@ -10258,7 +10380,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10307,7 +10429,7 @@
Returns:
-

+

countDead()

@@ -10371,7 +10493,7 @@

Source:
- src/core/Group.js line 2443 + src/core/Group.js line 2443 @@ -10424,7 +10546,7 @@
Returns:
-

+

countLiving()

@@ -10488,7 +10610,7 @@

Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -10541,7 +10663,7 @@
Returns:
-

+

create(x, y [, key] [, frame] [, exists] [, index])

@@ -10882,7 +11004,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -10935,7 +11057,7 @@
Returns:
-

+

createMultiple(quantity, key [, frame] [, exists])

@@ -11213,7 +11335,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11266,7 +11388,7 @@
Returns:
-

+

customSort(sortHandler [, context])

@@ -11426,7 +11548,7 @@
Parameters:
Source:
- src/core/Group.js line 2000 + src/core/Group.js line 2000 @@ -11455,7 +11577,7 @@
Parameters:
-

+

<protected> descendingSortHandler(a, b)

@@ -11593,7 +11715,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -11622,7 +11744,7 @@
Parameters:
-

+

destroy( [destroyChildren] [, soft])

@@ -11797,7 +11919,7 @@
Parameters:
Source:
- src/core/Group.js line 2756 + src/core/Group.js line 2756 @@ -11826,7 +11948,7 @@
Parameters:
-

+

divideAll(property, amount, checkAlive, checkVisible)

@@ -12013,7 +12135,7 @@
Parameters:
Source:
- src/core/Group.js line 1482 + src/core/Group.js line 1482 @@ -12042,7 +12164,7 @@
Parameters:
-

+

draw()

@@ -12097,7 +12219,7 @@

Source:
- src/physics/p2/BodyDebug.js line 85 + src/physics/p2/BodyDebug.js line 85 @@ -12126,7 +12248,7 @@

-

+

filter(predicate [, checkExists])

@@ -12301,7 +12423,7 @@
Parameters:
Source:
- src/core/Group.js line 1782 + src/core/Group.js line 1782 @@ -12354,7 +12476,7 @@
Returns:
-

+

forEach(callback, callbackContext [, checkExists] [, args])

@@ -12605,7 +12727,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -12634,7 +12756,7 @@
Parameters:
-

+

forEachAlive(callback, callbackContext [, args])

@@ -12843,7 +12965,7 @@
Parameters:
Source:
- src/core/Group.js line 1904 + src/core/Group.js line 1904 @@ -12872,7 +12994,7 @@
Parameters:
-

+

forEachDead(callback, callbackContext [, args])

@@ -13081,7 +13203,7 @@
Parameters:
Source:
- src/core/Group.js line 1932 + src/core/Group.js line 1932 @@ -13110,7 +13232,7 @@
Parameters:
-

+

forEachExists(callback, callbackContext [, args])

@@ -13319,7 +13441,7 @@
Parameters:
Source:
- src/core/Group.js line 1876 + src/core/Group.js line 1876 @@ -13348,7 +13470,7 @@
Parameters:
-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -13564,7 +13686,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -13619,7 +13741,7 @@
Returns:
-

+

getAll( [property] [, value] [, startIndex] [, endIndex])

@@ -13872,7 +13994,7 @@
Parameters:
Source:
- src/core/Group.js line 2497 + src/core/Group.js line 2497 @@ -13927,7 +14049,7 @@
Returns:
-

+

getAt(index)

@@ -14041,7 +14163,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -14097,7 +14219,7 @@
Returns:
-

+

getBottom()

@@ -14162,7 +14284,7 @@

Source:
- src/core/Group.js line 2326 + src/core/Group.js line 2326 @@ -14215,7 +14337,7 @@
Returns:
-

+

getBounds( [targetCoordinateSpace])

@@ -14344,7 +14466,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -14397,7 +14519,7 @@
Returns:
-

+

getByName(name)

@@ -14513,7 +14635,7 @@
Parameters:
Source:
- src/core/Group.js line 1049 + src/core/Group.js line 1049 @@ -14566,7 +14688,7 @@
Returns:
-

+

getChildAt(index)

@@ -14680,7 +14802,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -14733,7 +14855,7 @@
Returns:
-

+

getChildIndex(child)

@@ -14847,7 +14969,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -14900,7 +15022,7 @@
Returns:
-

+

getClosestTo(object [, callback] [, callbackContext])

@@ -15098,7 +15220,7 @@
Parameters:
Source:
- src/core/Group.js line 2343 + src/core/Group.js line 2343 @@ -15151,7 +15273,7 @@
Returns:
-

+

getFirstAlive( [createIfNull] [, x] [, y] [, key] [, frame])

@@ -15457,7 +15579,7 @@
Parameters:
Source:
- src/core/Group.js line 2210 + src/core/Group.js line 2210 @@ -15510,7 +15632,7 @@
Returns:
-

+

getFirstDead( [createIfNull] [, x] [, y] [, key] [, frame])

@@ -15816,7 +15938,7 @@
Parameters:
Source:
- src/core/Group.js line 2240 + src/core/Group.js line 2240 @@ -15869,7 +15991,7 @@
Returns:
-

+

getFirstExists( [exists] [, createIfNull] [, x] [, y] [, key] [, frame])

@@ -16214,7 +16336,7 @@
Parameters:
Source:
- src/core/Group.js line 2176 + src/core/Group.js line 2176 @@ -16267,7 +16389,7 @@
Returns:
-

+

getFurthestFrom(object [, callback] [, callbackContext])

@@ -16465,7 +16587,7 @@
Parameters:
Source:
- src/core/Group.js line 2387 + src/core/Group.js line 2387 @@ -16518,7 +16640,7 @@
Returns:
-

+

getIndex(child)

@@ -16632,7 +16754,7 @@
Parameters:
Source:
- src/core/Group.js line 1036 + src/core/Group.js line 1036 @@ -16685,7 +16807,7 @@
Returns:
-

+

getLocalBounds()

@@ -16749,7 +16871,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -16802,7 +16924,7 @@
Returns:
-

+

getRandom( [startIndex] [, length])

@@ -16976,7 +17098,7 @@
Parameters:
Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -17029,7 +17151,7 @@
Returns:
-

+

getRandomExists( [startIndex] [, endIndex])

@@ -17204,7 +17326,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -17257,7 +17379,7 @@
Returns:
-

+

getTop()

@@ -17322,7 +17444,7 @@

Source:
- src/core/Group.js line 2309 + src/core/Group.js line 2309 @@ -17375,7 +17497,7 @@
Returns:
-

+

hasProperty(child, key)

@@ -17514,7 +17636,7 @@
Parameters:
Source:
- src/core/Group.js line 1111 + src/core/Group.js line 1111 @@ -17567,7 +17689,7 @@
Returns:
-

+

iterate(key, value, returnType [, callback] [, callbackContext] [, args])

@@ -17901,7 +18023,7 @@
Parameters:
Source:
- src/core/Group.js line 2081 + src/core/Group.js line 2081 @@ -17954,7 +18076,7 @@
Returns:
-

+

killAll()

@@ -18018,7 +18140,7 @@

Source:
- src/core/Group.js line 1499 + src/core/Group.js line 1499 @@ -18047,7 +18169,7 @@

-

+

moveAll(group [, silent])

@@ -18217,7 +18339,7 @@
Parameters:
Source:
- src/core/Group.js line 2591 + src/core/Group.js line 2591 @@ -18270,7 +18392,7 @@
Returns:
-

+

moveDown(child)

@@ -18384,7 +18506,7 @@
Parameters:
Source:
- src/core/Group.js line 976 + src/core/Group.js line 976 @@ -18437,7 +18559,7 @@
Returns:
-

+

moveUp(child)

@@ -18551,7 +18673,7 @@
Parameters:
Source:
- src/core/Group.js line 952 + src/core/Group.js line 952 @@ -18604,7 +18726,7 @@
Returns:
-

+

multiplyAll(property, amount, checkAlive, checkVisible)

@@ -18791,7 +18913,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -18820,7 +18942,7 @@
Parameters:
-

+

next()

@@ -18885,7 +19007,7 @@

Source:
- src/core/Group.js line 840 + src/core/Group.js line 840 @@ -18938,7 +19060,7 @@
Returns:
-

+

<protected> postUpdate()

@@ -19002,7 +19124,7 @@

Source:
- src/core/Group.js line 1761 + src/core/Group.js line 1761 @@ -19031,7 +19153,7 @@

-

+

<protected> preUpdate()

@@ -19095,7 +19217,7 @@

Source:
- src/core/Group.js line 1694 + src/core/Group.js line 1694 @@ -19124,7 +19246,7 @@

-

+

previous()

@@ -19189,7 +19311,7 @@

Source:
- src/core/Group.js line 869 + src/core/Group.js line 869 @@ -19242,7 +19364,7 @@
Returns:
-

+

remove(child [, destroy] [, silent])

@@ -19454,7 +19576,7 @@
Parameters:
Source:
- src/core/Group.js line 2543 + src/core/Group.js line 2543 @@ -19507,7 +19629,7 @@
Returns:
-

+

removeAll( [destroy] [, silent] [, destroyTexture])

@@ -19724,7 +19846,7 @@
Parameters:
Source:
- src/core/Group.js line 2620 + src/core/Group.js line 2620 @@ -19753,7 +19875,7 @@
Parameters:
-

+

removeBetween(startIndex [, endIndex] [, destroy] [, silent])

@@ -20001,7 +20123,7 @@
Parameters:
Source:
- src/core/Group.js line 2668 + src/core/Group.js line 2668 @@ -20030,7 +20152,7 @@
Parameters:
-

+

removeChild(child)

@@ -20144,7 +20266,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -20197,7 +20319,7 @@
Returns:
-

+

removeChildAt(index)

@@ -20311,7 +20433,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -20364,7 +20486,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -20502,7 +20624,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -20531,7 +20653,7 @@
Parameters:
-

+

removeFromHash(child)

@@ -20646,7 +20768,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -20699,7 +20821,7 @@
Returns:
-

+

replace(oldChild, newChild)

@@ -20839,7 +20961,7 @@
Parameters:
Source:
- src/core/Group.js line 1072 + src/core/Group.js line 1072 @@ -20892,7 +21014,7 @@
Returns:
-

+

resetAll( [x] [, y] [, key] [, frame] [, checkExists])

@@ -21193,7 +21315,7 @@
Parameters:
Source:
- src/core/Group.js line 1521 + src/core/Group.js line 1521 @@ -21222,7 +21344,7 @@
Parameters:
-

+

resetChild(child [, x] [, y] [, key] [, frame])

@@ -21499,7 +21621,7 @@
Parameters:
Source:
- src/core/Group.js line 2270 + src/core/Group.js line 2270 @@ -21552,7 +21674,7 @@
Returns:
-

+

resetCursor( [index])

@@ -21687,7 +21809,7 @@
Parameters:
Source:
- src/core/Group.js line 813 + src/core/Group.js line 813 @@ -21740,7 +21862,7 @@
Returns:
-

+

reverse()

@@ -21805,7 +21927,7 @@

Source:
- src/core/Group.js line 1022 + src/core/Group.js line 1022 @@ -21834,7 +21956,7 @@

-

+

reviveAll()

@@ -21898,7 +22020,7 @@

Source:
- src/core/Group.js line 1510 + src/core/Group.js line 1510 @@ -21927,7 +22049,7 @@

-

+

scatter( [rect] [, checkExists])

@@ -22101,7 +22223,7 @@
Parameters:
Source:
- src/core/Group.js line 2723 + src/core/Group.js line 2723 @@ -22130,7 +22252,7 @@
Parameters:
-

+

sendToBack(child)

@@ -22244,7 +22366,7 @@
Parameters:
Source:
- src/core/Group.js line 933 + src/core/Group.js line 933 @@ -22297,7 +22419,7 @@
Returns:
-

+

set(child, key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -22660,7 +22782,7 @@
Parameters:
Source:
- src/core/Group.js line 1254 + src/core/Group.js line 1254 @@ -22713,7 +22835,7 @@
Returns:
-

+

setAll(key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -23042,7 +23164,7 @@
Parameters:
Source:
- src/core/Group.js line 1285 + src/core/Group.js line 1285 @@ -23071,7 +23193,7 @@
Parameters:
-

+

setAllChildren(key, value [, checkAlive] [, checkVisible] [, operation] [, force])

@@ -23400,7 +23522,7 @@
Parameters:
Source:
- src/core/Group.js line 1320 + src/core/Group.js line 1320 @@ -23429,7 +23551,7 @@
Parameters:
-

+

setChildIndex(child, index)

@@ -23567,7 +23689,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -23596,7 +23718,7 @@
Parameters:
-

+

setProperty(child, key, value [, operation] [, force])

@@ -23886,7 +24008,7 @@
Parameters:
Source:
- src/core/Group.js line 1146 + src/core/Group.js line 1146 @@ -23939,7 +24061,7 @@
Returns:
-

+

shuffle()

@@ -24004,7 +24126,7 @@

Source:
- src/core/Group.js line 2742 + src/core/Group.js line 2742 @@ -24033,7 +24155,7 @@

-

+

sort( [key] [, order])

@@ -24211,7 +24333,7 @@
Parameters:
Source:
- src/core/Group.js line 1960 + src/core/Group.js line 1960 @@ -24240,7 +24362,7 @@
Parameters:
-

+

subAll(property, amount, checkAlive, checkVisible)

@@ -24427,7 +24549,7 @@
Parameters:
Source:
- src/core/Group.js line 1448 + src/core/Group.js line 1448 @@ -24456,7 +24578,7 @@
Parameters:
-

+

swap(child1, child2)

@@ -24595,7 +24717,7 @@
Parameters:
Source:
- src/core/Group.js line 898 + src/core/Group.js line 898 @@ -24624,7 +24746,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -24762,7 +24884,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -24791,7 +24913,7 @@
Parameters:
-

+

toGlobal(position)

@@ -24905,7 +25027,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -24960,7 +25082,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -25118,7 +25240,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -25173,7 +25295,7 @@
Returns:
-

+

<protected> update()

@@ -25238,7 +25360,7 @@

Source:
- src/core/Group.js line 1733 + src/core/Group.js line 1733 @@ -25267,7 +25389,7 @@

-

+

updateCache()

@@ -25331,7 +25453,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -25386,7 +25508,7 @@
Returns:
-

+

updateSpriteTransform()

@@ -25441,7 +25563,7 @@

Source:
- src/physics/p2/BodyDebug.js line 72 + src/physics/p2/BodyDebug.js line 72 @@ -25470,7 +25592,7 @@

-

+

updateTransform( [parent])

@@ -25604,7 +25726,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -25659,7 +25781,7 @@
Returns:
-

+

<protected> updateZ()

@@ -25724,7 +25846,7 @@

Source:
- src/core/Group.js line 670 + src/core/Group.js line 670 @@ -25753,7 +25875,7 @@

-

+

xy(index, x, y)

@@ -25915,7 +26037,7 @@
Parameters:
Source:
- src/core/Group.js line 1000 + src/core/Group.js line 1000 @@ -25958,9 +26080,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -25977,9 +26099,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -25991,7 +26113,7 @@
Parameters:
- +
@@ -26006,7 +26128,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.CollisionGroup.html b/docs/Phaser.Physics.P2.CollisionGroup.html index 40713ef75..1a3ad8194 100644 --- a/docs/Phaser.Physics.P2.CollisionGroup.html +++ b/docs/Phaser.Physics.P2.CollisionGroup.html @@ -6,7 +6,7 @@ Phaser CE Class: CollisionGroup - + @@ -125,7 +125,7 @@

-

+

new CollisionGroup(bitmask)

@@ -230,7 +230,7 @@
Parameters:
Source:
- src/physics/p2/CollisionGroup.js line 14 + src/physics/p2/CollisionGroup.js line 14 @@ -274,9 +274,11 @@

Members

-
-

mask :number

- +
+

+ mask : number + +

@@ -333,7 +335,7 @@
Type:
Source:
- src/physics/p2/CollisionGroup.js line 19 + src/physics/p2/CollisionGroup.js line 19 @@ -366,9 +368,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -385,9 +387,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -399,7 +401,7 @@
Type:
- +
@@ -414,7 +416,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.ContactMaterial.html b/docs/Phaser.Physics.P2.ContactMaterial.html index 86e064e26..24ba5f721 100644 --- a/docs/Phaser.Physics.P2.ContactMaterial.html +++ b/docs/Phaser.Physics.P2.ContactMaterial.html @@ -6,7 +6,7 @@ Phaser CE Class: ContactMaterial - + @@ -125,7 +125,7 @@

-

+

new ContactMaterial(materialA, materialB [, options])

@@ -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.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -382,9 +382,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -396,7 +396,7 @@
Parameters:
- +
@@ -411,7 +411,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.DistanceConstraint.html b/docs/Phaser.Physics.P2.DistanceConstraint.html index 71bb068a1..810948e32 100644 --- a/docs/Phaser.Physics.P2.DistanceConstraint.html +++ b/docs/Phaser.Physics.P2.DistanceConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: DistanceConstraint - + @@ -125,7 +125,7 @@

-

+

new DistanceConstraint(world, bodyA, bodyB, distance [, localAnchorA] [, localAnchorB] [, maxForce])

@@ -470,7 +470,7 @@
Parameters:
Source:
- src/physics/p2/DistanceConstraint.js line 20 + src/physics/p2/DistanceConstraint.js line 20 @@ -514,9 +514,11 @@

Members

-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -573,7 +575,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 30 + src/physics/p2/DistanceConstraint.js line 30 @@ -589,9 +591,11 @@
Type:
-
-

world :Phaser.Physics.P2

- +
+

+ world : Phaser.Physics.P2 + +

@@ -648,7 +652,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 35 + src/physics/p2/DistanceConstraint.js line 35 @@ -681,9 +685,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -700,9 +704,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -714,7 +718,7 @@
Type:
- +
@@ -729,7 +733,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.FixtureList.html b/docs/Phaser.Physics.P2.FixtureList.html index 502a5e8b6..22a0dc13d 100644 --- a/docs/Phaser.Physics.P2.FixtureList.html +++ b/docs/Phaser.Physics.P2.FixtureList.html @@ -6,7 +6,7 @@ Phaser CE Class: FixtureList - + @@ -125,7 +125,7 @@

-

+

new FixtureList(list)

@@ -235,7 +235,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 23 + src/physics/p2/FixtureList.js line 23 @@ -282,7 +282,7 @@

Methods

-

+

flatten(array)

@@ -387,7 +387,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 212 + src/physics/p2/FixtureList.js line 212 @@ -416,7 +416,7 @@
Parameters:
-

+

getFixtureByKey(key)

@@ -521,7 +521,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 158 + src/physics/p2/FixtureList.js line 158 @@ -550,7 +550,7 @@
Parameters:
-

+

getFixtures(keys)

@@ -655,7 +655,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 123 + src/physics/p2/FixtureList.js line 123 @@ -684,7 +684,7 @@
Parameters:
-

+

getGroup(groupID)

@@ -789,7 +789,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 170 + src/physics/p2/FixtureList.js line 170 @@ -818,7 +818,7 @@
Parameters:
-

+

init()

@@ -869,7 +869,7 @@

Source:
- src/physics/p2/FixtureList.js line 38 + src/physics/p2/FixtureList.js line 38 @@ -898,7 +898,7 @@

-

+

parse()

@@ -953,7 +953,7 @@

Source:
- src/physics/p2/FixtureList.js line 182 + src/physics/p2/FixtureList.js line 182 @@ -982,7 +982,7 @@

-

+

setCategory(bit, fixtureKey)

@@ -1107,7 +1107,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 63 + src/physics/p2/FixtureList.js line 63 @@ -1136,7 +1136,7 @@
Parameters:
-

+

setMask(bit, fixtureKey)

@@ -1261,7 +1261,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 78 + src/physics/p2/FixtureList.js line 78 @@ -1290,7 +1290,7 @@
Parameters:
-

+

setMaterial(material, fixtureKey)

@@ -1415,7 +1415,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 108 + src/physics/p2/FixtureList.js line 108 @@ -1444,7 +1444,7 @@
Parameters:
-

+

setSensor(value, fixtureKey)

@@ -1569,7 +1569,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 93 + src/physics/p2/FixtureList.js line 93 @@ -1612,9 +1612,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1631,9 +1631,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1645,7 +1645,7 @@
Parameters:
- +
@@ -1660,7 +1660,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.GearConstraint.html b/docs/Phaser.Physics.P2.GearConstraint.html index efb9665e4..538b8e585 100644 --- a/docs/Phaser.Physics.P2.GearConstraint.html +++ b/docs/Phaser.Physics.P2.GearConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: GearConstraint - + @@ -125,7 +125,7 @@

-

+

new GearConstraint(world, bodyA, bodyB [, angle] [, ratio])

@@ -398,7 +398,7 @@
Parameters:
Source:
- src/physics/p2/GearConstraint.js line 18 + src/physics/p2/GearConstraint.js line 18 @@ -442,9 +442,11 @@

Members

-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -501,7 +503,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 26 + src/physics/p2/GearConstraint.js line 26 @@ -517,9 +519,11 @@
Type:
-
-

world :Phaser.Physics.P2

- +
+

+ world : Phaser.Physics.P2 + +

@@ -576,7 +580,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 31 + src/physics/p2/GearConstraint.js line 31 @@ -609,9 +613,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -628,9 +632,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -642,7 +646,7 @@
Type:
- +
@@ -657,7 +661,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.InversePointProxy.html b/docs/Phaser.Physics.P2.InversePointProxy.html index be1ee71f4..4c9f87dfd 100644 --- a/docs/Phaser.Physics.P2.InversePointProxy.html +++ b/docs/Phaser.Physics.P2.InversePointProxy.html @@ -6,7 +6,7 @@ Phaser CE Class: InversePointProxy - + @@ -125,7 +125,7 @@

-

+

new InversePointProxy(world, destination)

@@ -254,7 +254,7 @@
Parameters:
Source:
- src/physics/p2/InversePointProxy.js line 15 + src/physics/p2/InversePointProxy.js line 15 @@ -298,9 +298,11 @@

Members

-
-

mx :number

- +
+

+ mx : number + +

@@ -357,7 +359,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 64 + src/physics/p2/InversePointProxy.js line 64 @@ -373,9 +375,11 @@
Type:
-
-

my :number

- +
+

+ my : number + +

@@ -432,7 +436,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 84 + src/physics/p2/InversePointProxy.js line 84 @@ -448,9 +452,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -507,7 +513,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 24 + src/physics/p2/InversePointProxy.js line 24 @@ -523,9 +529,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -582,7 +590,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 44 + src/physics/p2/InversePointProxy.js line 44 @@ -615,9 +623,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -634,9 +642,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -648,7 +656,7 @@
Type:
- +
@@ -663,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.LockConstraint.html b/docs/Phaser.Physics.P2.LockConstraint.html index 08177a7ca..f3908efa9 100644 --- a/docs/Phaser.Physics.P2.LockConstraint.html +++ b/docs/Phaser.Physics.P2.LockConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: LockConstraint - + @@ -125,7 +125,7 @@

-

+

new LockConstraint(world, bodyA, bodyB [, offset] [, angle] [, maxForce])

@@ -434,7 +434,7 @@
Parameters:
Source:
- src/physics/p2/LockConstraint.js line 19 + src/physics/p2/LockConstraint.js line 19 @@ -478,9 +478,11 @@

Members

-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -537,7 +539,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 28 + src/physics/p2/LockConstraint.js line 28 @@ -553,9 +555,11 @@
Type:
-
-

world :Phaser.Physics.P2

- +
+

+ world : Phaser.Physics.P2 + +

@@ -612,7 +616,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 33 + src/physics/p2/LockConstraint.js line 33 @@ -645,9 +649,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -664,9 +668,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -678,7 +682,7 @@
Type:
- +
@@ -693,7 +697,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Material.html b/docs/Phaser.Physics.P2.Material.html index fac8594d4..d336154db 100644 --- a/docs/Phaser.Physics.P2.Material.html +++ b/docs/Phaser.Physics.P2.Material.html @@ -6,7 +6,7 @@ Phaser CE Class: Material - + @@ -125,7 +125,7 @@

-

+

new Material(name)

@@ -231,7 +231,7 @@
Parameters:
Source:
- src/physics/p2/Material.js line 16 + src/physics/p2/Material.js line 16 @@ -275,9 +275,11 @@

Members

-
-

name :string

- +
+

+ name : string + +

@@ -334,7 +336,7 @@
Type:
Source:
- src/physics/p2/Material.js line 22 + src/physics/p2/Material.js line 22 @@ -367,9 +369,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -386,9 +388,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -400,7 +402,7 @@
Type:
- +
@@ -415,7 +417,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PointProxy.html b/docs/Phaser.Physics.P2.PointProxy.html index 9d71c010c..9e6df6eef 100644 --- a/docs/Phaser.Physics.P2.PointProxy.html +++ b/docs/Phaser.Physics.P2.PointProxy.html @@ -6,7 +6,7 @@ Phaser CE Class: PointProxy - + @@ -125,7 +125,7 @@

-

+

new PointProxy(world, destination)

@@ -254,7 +254,7 @@
Parameters:
Source:
- src/physics/p2/PointProxy.js line 15 + src/physics/p2/PointProxy.js line 15 @@ -298,9 +298,11 @@

Members

-
-

mx :number

- +
+

+ mx : number + +

@@ -357,7 +359,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 64 + src/physics/p2/PointProxy.js line 64 @@ -373,9 +375,11 @@
Type:
-
-

my :number

- +
+

+ my : number + +

@@ -432,7 +436,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 84 + src/physics/p2/PointProxy.js line 84 @@ -448,9 +452,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -507,7 +513,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 24 + src/physics/p2/PointProxy.js line 24 @@ -523,9 +529,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -582,7 +590,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 44 + src/physics/p2/PointProxy.js line 44 @@ -615,9 +623,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -634,9 +642,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -648,7 +656,7 @@
Type:
- +
@@ -663,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PrismaticConstraint.html b/docs/Phaser.Physics.P2.PrismaticConstraint.html index 60092b8ed..57a6cfd8d 100644 --- a/docs/Phaser.Physics.P2.PrismaticConstraint.html +++ b/docs/Phaser.Physics.P2.PrismaticConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: PrismaticConstraint - + @@ -125,7 +125,7 @@

-

+

new PrismaticConstraint(world, bodyA, bodyB [, lockRotation] [, anchorA] [, anchorB] [, axis] [, maxForce])

@@ -510,7 +510,7 @@
Parameters:
Source:
- src/physics/p2/PrismaticConstraint.js line 21 + src/physics/p2/PrismaticConstraint.js line 21 @@ -554,9 +554,11 @@

Members

-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -613,7 +615,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 32 + src/physics/p2/PrismaticConstraint.js line 32 @@ -629,9 +631,11 @@
Type:
-
-

world :Phaser.Physics.P2

- +
+

+ world : Phaser.Physics.P2 + +

@@ -688,7 +692,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 37 + src/physics/p2/PrismaticConstraint.js line 37 @@ -721,9 +725,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -740,9 +744,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -754,7 +758,7 @@
Type:
- +
@@ -769,7 +773,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RevoluteConstraint.html b/docs/Phaser.Physics.P2.RevoluteConstraint.html index dc5bf68e3..28940a909 100644 --- a/docs/Phaser.Physics.P2.RevoluteConstraint.html +++ b/docs/Phaser.Physics.P2.RevoluteConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: RevoluteConstraint - + @@ -125,7 +125,7 @@

-

+

new RevoluteConstraint(world, bodyA, pivotA, bodyB, pivotB [, maxForce] [, worldPivot])

@@ -471,7 +471,7 @@
Parameters:
Source:
- src/physics/p2/RevoluteConstraint.js line 21 + src/physics/p2/RevoluteConstraint.js line 21 @@ -515,9 +515,11 @@

Members

-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -574,7 +576,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 29 + src/physics/p2/RevoluteConstraint.js line 29 @@ -590,9 +592,11 @@
Type:
-
-

world :Phaser.Physics.P2

- +
+

+ world : Phaser.Physics.P2 + +

@@ -649,7 +653,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 34 + src/physics/p2/RevoluteConstraint.js line 34 @@ -682,9 +686,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -701,9 +705,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -715,7 +719,7 @@
Type:
- +
@@ -730,7 +734,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RotationalSpring.html b/docs/Phaser.Physics.P2.RotationalSpring.html index faac987d8..01389b297 100644 --- a/docs/Phaser.Physics.P2.RotationalSpring.html +++ b/docs/Phaser.Physics.P2.RotationalSpring.html @@ -6,7 +6,7 @@ Phaser CE Class: RotationalSpring - + @@ -125,7 +125,7 @@

-

+

new RotationalSpring(world, bodyA, bodyB [, restAngle] [, stiffness] [, damping])

@@ -436,7 +436,7 @@
Parameters:
Source:
- src/physics/p2/RotationalSpring.js line 19 + src/physics/p2/RotationalSpring.js line 19 @@ -480,9 +480,11 @@

Members

-
-

data :p2.RotationalSpring

- +
+

+ data : p2.RotationalSpring + +

@@ -539,7 +541,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 49 + src/physics/p2/RotationalSpring.js line 49 @@ -555,9 +557,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -614,7 +618,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 24 + src/physics/p2/RotationalSpring.js line 24 @@ -630,9 +634,11 @@
Type:
-
-

world :Phaser.Physics.P2

- +
+

+ world : Phaser.Physics.P2 + +

@@ -689,7 +695,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 29 + src/physics/p2/RotationalSpring.js line 29 @@ -722,9 +728,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -741,9 +747,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -755,7 +761,7 @@
Type:
- +
@@ -770,7 +776,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Spring.html b/docs/Phaser.Physics.P2.Spring.html index f51dcec2d..88115f168 100644 --- a/docs/Phaser.Physics.P2.Spring.html +++ b/docs/Phaser.Physics.P2.Spring.html @@ -6,7 +6,7 @@ Phaser CE Class: Spring - + @@ -125,7 +125,7 @@

-

+

new Spring(world, bodyA, bodyB [, restLength] [, stiffness] [, damping] [, worldA] [, worldB] [, localA] [, localB])

@@ -590,7 +590,7 @@
Parameters:
Source:
- src/physics/p2/Spring.js line 23 + src/physics/p2/Spring.js line 23 @@ -634,9 +634,11 @@

Members

-
-

data :p2.LinearSpring

- +
+

+ data : p2.LinearSpring + +

@@ -693,7 +695,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 70 + src/physics/p2/Spring.js line 70 @@ -709,9 +711,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -768,7 +772,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 28 + src/physics/p2/Spring.js line 28 @@ -784,9 +788,11 @@
Type:
-
-

world :Phaser.Physics.P2

- +
+

+ world : Phaser.Physics.P2 + +

@@ -843,7 +849,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 33 + src/physics/p2/Spring.js line 33 @@ -876,9 +882,9 @@
Type:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -895,9 +901,9 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -909,7 +915,7 @@
Type:
- +
@@ -924,7 +930,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.html b/docs/Phaser.Physics.P2.html index fb6e57e15..ede0b7cda 100644 --- a/docs/Phaser.Physics.P2.html +++ b/docs/Phaser.Physics.P2.html @@ -6,7 +6,7 @@ Phaser CE Class: P2 - + @@ -125,7 +125,7 @@

-

+

new P2(game [, config])

@@ -275,7 +275,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 20 + src/physics/p2/World.js line 20 @@ -368,9 +368,11 @@

Members

-
-

applyDamping :boolean

- +
+

+ applyDamping : boolean + +

@@ -427,7 +429,7 @@
Type:
Source:
- src/physics/p2/World.js line 1919 + src/physics/p2/World.js line 1919 @@ -443,9 +445,11 @@
Type:
-
-

applyGravity :boolean

- +
+

+ applyGravity : boolean + +

@@ -502,7 +506,7 @@
Type:
Source:
- src/physics/p2/World.js line 1939 + src/physics/p2/World.js line 1939 @@ -518,9 +522,11 @@
Type:
-
-

applySpringForces :boolean

- +
+

+ applySpringForces : boolean + +

@@ -577,7 +583,7 @@
Type:
Source:
- src/physics/p2/World.js line 1899 + src/physics/p2/World.js line 1899 @@ -593,9 +599,11 @@
Type:
-
-

boundsCollidesWith :array

- +
+

+ boundsCollidesWith : array + +

@@ -652,7 +660,7 @@
Type:
Source:
- src/physics/p2/World.js line 232 + src/physics/p2/World.js line 232 @@ -668,9 +676,11 @@
Type:
-
-

boundsCollisionGroup :Phaser.Physics.P2.CollisionGroup

- +
+

+ boundsCollisionGroup : Phaser.Physics.P2.CollisionGroup + +

@@ -727,7 +737,7 @@
Type:
Source:
- src/physics/p2/World.js line 222 + src/physics/p2/World.js line 222 @@ -743,9 +753,11 @@
Type:
-
-

callbackContext :object

- +
+

+ callbackContext : object + +

@@ -802,7 +814,7 @@
Type:
Source:
- src/physics/p2/World.js line 170 + src/physics/p2/World.js line 170 @@ -818,9 +830,11 @@
Type:
-
-

collisionGroups :array

- +
+

+ collisionGroups : array + +

@@ -877,7 +891,7 @@
Type:
Source:
- src/physics/p2/World.js line 212 + src/physics/p2/World.js line 212 @@ -893,9 +907,11 @@
Type:
-
-

<protected> config :object

- +
+

+ <protected> config : object + +

@@ -952,7 +968,7 @@
Type:
Source:
- src/physics/p2/World.js line 48 + src/physics/p2/World.js line 48 @@ -968,9 +984,11 @@
Type:
-
-

contactMaterial :p2.ContactMaterial

- +
+

+ contactMaterial : p2.ContactMaterial + +

@@ -1027,7 +1045,7 @@
Type:
Source:
- src/physics/p2/World.js line 1879 + src/physics/p2/World.js line 1879 @@ -1043,9 +1061,11 @@
Type:
-
-

emitImpactEvent :boolean

- +
+

+ emitImpactEvent : boolean + +

@@ -1102,7 +1122,7 @@
Type:
Source:
- src/physics/p2/World.js line 1994 + src/physics/p2/World.js line 1994 @@ -1118,9 +1138,11 @@
Type:
-
-

everythingCollisionGroup :Phaser.Physics.P2.CollisionGroup

- +
+

+ everythingCollisionGroup : Phaser.Physics.P2.CollisionGroup + +

@@ -1177,7 +1199,7 @@
Type:
Source:
- src/physics/p2/World.js line 227 + src/physics/p2/World.js line 227 @@ -1193,9 +1215,11 @@
Type:
-
-

frameRate :number

- +
+

+ frameRate : number + +

@@ -1252,7 +1276,7 @@
Type:
Source:
- src/physics/p2/World.js line 60 + src/physics/p2/World.js line 60 @@ -1268,9 +1292,11 @@
Type:
-
-

friction :number

- +
+

+ friction : number + +

@@ -1327,7 +1353,7 @@
Type:
Source:
- src/physics/p2/World.js line 1839 + src/physics/p2/World.js line 1839 @@ -1343,9 +1369,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -1402,7 +1430,7 @@
Type:
Source:
- src/physics/p2/World.js line 25 + src/physics/p2/World.js line 25 @@ -1418,9 +1446,11 @@
Type:
-
-

gravity :Phaser.Physics.P2.InversePointProxy

- +
+

+ gravity : Phaser.Physics.P2.InversePointProxy + +

@@ -1477,7 +1507,7 @@
Type:
Source:
- src/physics/p2/World.js line 83 + src/physics/p2/World.js line 83 @@ -1493,9 +1523,11 @@
Type:
-
-

<protected> materials :array.<Phaser.Physics.P2.Material>

- +
+

+ <protected> materials : array.<Phaser.Physics.P2.Material> + +

@@ -1552,7 +1584,7 @@
Type:
Source:
- src/physics/p2/World.js line 78 + src/physics/p2/World.js line 78 @@ -1568,9 +1600,11 @@
Type:
-
-

nothingCollisionGroup :Phaser.Physics.P2.CollisionGroup

- +
+

+ nothingCollisionGroup : Phaser.Physics.P2.CollisionGroup + +

@@ -1627,7 +1661,7 @@
Type:
Source:
- src/physics/p2/World.js line 217 + src/physics/p2/World.js line 217 @@ -1643,9 +1677,11 @@
Type:
-
-

onBeginContact :Phaser.Signal

- +
+

+ onBeginContact : Phaser.Signal + +

@@ -1705,7 +1741,7 @@
Type:
Source:
- src/physics/p2/World.js line 182 + src/physics/p2/World.js line 182 @@ -1721,9 +1757,11 @@
Type:
-
-

onBodyAdded :Phaser.Signal

- +
+

+ onBodyAdded : Phaser.Signal + +

@@ -1781,7 +1819,7 @@
Type:
Source:
- src/physics/p2/World.js line 97 + src/physics/p2/World.js line 97 @@ -1797,9 +1835,11 @@
Type:
-
-

onBodyRemoved :Phaser.Signal

- +
+

+ onBodyRemoved : Phaser.Signal + +

@@ -1857,7 +1897,7 @@
Type:
Source:
- src/physics/p2/World.js line 106 + src/physics/p2/World.js line 106 @@ -1873,9 +1913,11 @@
Type:
-
-

onConstraintAdded :Phaser.Signal

- +
+

+ onConstraintAdded : Phaser.Signal + +

@@ -1933,7 +1975,7 @@
Type:
Source:
- src/physics/p2/World.js line 133 + src/physics/p2/World.js line 133 @@ -1949,9 +1991,11 @@
Type:
-
-

onConstraintRemoved :Phaser.Signal

- +
+

+ onConstraintRemoved : Phaser.Signal + +

@@ -2009,7 +2053,7 @@
Type:
Source:
- src/physics/p2/World.js line 142 + src/physics/p2/World.js line 142 @@ -2025,9 +2069,11 @@
Type:
-
-

onContactMaterialAdded :Phaser.Signal

- +
+

+ onContactMaterialAdded : Phaser.Signal + +

@@ -2085,7 +2131,7 @@
Type:
Source:
- src/physics/p2/World.js line 151 + src/physics/p2/World.js line 151 @@ -2101,9 +2147,11 @@
Type:
-
-

onContactMaterialRemoved :Phaser.Signal

- +
+

+ onContactMaterialRemoved : Phaser.Signal + +

@@ -2161,7 +2209,7 @@
Type:
Source:
- src/physics/p2/World.js line 160 + src/physics/p2/World.js line 160 @@ -2177,9 +2225,11 @@
Type:
-
-

onEndContact :Phaser.Signal

- +
+

+ onEndContact : Phaser.Signal + +

@@ -2239,7 +2289,7 @@
Type:
Source:
- src/physics/p2/World.js line 194 + src/physics/p2/World.js line 194 @@ -2255,9 +2305,11 @@
Type:
-
-

onSpringAdded :Phaser.Signal

- +
+

+ onSpringAdded : Phaser.Signal + +

@@ -2315,7 +2367,7 @@
Type:
Source:
- src/physics/p2/World.js line 115 + src/physics/p2/World.js line 115 @@ -2331,9 +2383,11 @@
Type:
-
-

onSpringRemoved :Phaser.Signal

- +
+

+ onSpringRemoved : Phaser.Signal + +

@@ -2391,7 +2445,7 @@
Type:
Source:
- src/physics/p2/World.js line 124 + src/physics/p2/World.js line 124 @@ -2407,9 +2461,11 @@
Type:
-
-

paused :boolean

- +
+

+ paused : boolean + +

@@ -2466,7 +2522,7 @@
Type:
Source:
- src/physics/p2/World.js line 72 + src/physics/p2/World.js line 72 @@ -2482,9 +2538,11 @@
Type:
-
-

postBroadphaseCallback :function

- +
+

+ postBroadphaseCallback : function + +

@@ -2541,7 +2599,7 @@
Type:
Source:
- src/physics/p2/World.js line 165 + src/physics/p2/World.js line 165 @@ -2557,9 +2615,11 @@
Type:
-
-

restitution :number

- +
+

+ restitution : number + +

@@ -2616,7 +2676,7 @@
Type:
Source:
- src/physics/p2/World.js line 1859 + src/physics/p2/World.js line 1859 @@ -2632,9 +2692,11 @@
Type:
-
-

sleepMode :number

- +
+

+ sleepMode : number + +

@@ -2692,7 +2754,7 @@
Type:
Source:
- src/physics/p2/World.js line 2014 + src/physics/p2/World.js line 2014 @@ -2708,9 +2770,11 @@
Type:
-
-

solveConstraints :boolean

- +
+

+ solveConstraints : boolean + +

@@ -2767,7 +2831,7 @@
Type:
Source:
- src/physics/p2/World.js line 1959 + src/physics/p2/World.js line 1959 @@ -2783,9 +2847,11 @@
Type:
-
-

<readonly> time :boolean

- +
+

+ <readonly> time : boolean + +

@@ -2842,7 +2908,7 @@
Type:
Source:
- src/physics/p2/World.js line 1979 + src/physics/p2/World.js line 1979 @@ -2858,9 +2924,11 @@
Type:
-
-

<readonly> total :number

- +
+

+ <readonly> total : number + +

@@ -2917,7 +2985,7 @@
Type:
Source:
- src/physics/p2/World.js line 2036 + src/physics/p2/World.js line 2036 @@ -2933,9 +3001,11 @@
Type:
-
-

useElapsedTime :boolean

- +
+

+ useElapsedTime : boolean + +

@@ -2992,7 +3062,7 @@
Type:
Source:
- src/physics/p2/World.js line 66 + src/physics/p2/World.js line 66 @@ -3008,9 +3078,11 @@
Type:
-
-

walls :object

- +
+

+ walls : object + +

@@ -3067,7 +3139,7 @@
Type:
Source:
- src/physics/p2/World.js line 88 + src/physics/p2/World.js line 88 @@ -3083,9 +3155,11 @@
Type:
-
-

<protected> world :p2.World

- +
+

+ <protected> world : p2.World + +

@@ -3142,7 +3216,7 @@
Type:
Source:
- src/physics/p2/World.js line 54 + src/physics/p2/World.js line 54 @@ -3165,7 +3239,7 @@

Methods

-

+

addBody(body)

@@ -3270,7 +3344,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 887 + src/physics/p2/World.js line 887 @@ -3323,7 +3397,7 @@
Returns:
-

+

addConstraint(constraint)

@@ -3428,7 +3502,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1119 + src/physics/p2/World.js line 1119 @@ -3481,7 +3555,7 @@
Returns:
-

+

addContactMaterial(material)

@@ -3586,7 +3660,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1153 + src/physics/p2/World.js line 1153 @@ -3639,7 +3713,7 @@
Returns:
-

+

addSpring(spring)

@@ -3750,7 +3824,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 931 + src/physics/p2/World.js line 931 @@ -3803,7 +3877,7 @@
Returns:
-

+

beginContactHandler(event)

@@ -3908,7 +3982,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 502 + src/physics/p2/World.js line 502 @@ -3937,7 +4011,7 @@
Parameters:
-

+

clear()

@@ -4001,7 +4075,7 @@

Source:
- src/physics/p2/World.js line 800 + src/physics/p2/World.js line 800 @@ -4030,7 +4104,7 @@

-

+

clearTilemapLayerBodies(map [, layer])

@@ -4185,7 +4259,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1666 + src/physics/p2/World.js line 1666 @@ -4214,7 +4288,7 @@
Parameters:
-

+

convertCollisionObjects(map [, layer] [, addToWorld])

@@ -4420,7 +4494,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1625 + src/physics/p2/World.js line 1625 @@ -4473,7 +4547,7 @@
Returns:
-

+

convertTilemap(map [, layer] [, addToWorld] [, optimize])

@@ -4721,7 +4795,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1688 + src/physics/p2/World.js line 1688 @@ -4774,7 +4848,7 @@
Returns:
-

+

createBody(x, y, mass [, addToWorld], options, points)

@@ -5237,7 +5311,7 @@
Properties
Source:
- src/physics/p2/World.js line 1542 + src/physics/p2/World.js line 1542 @@ -5290,7 +5364,7 @@
Returns:
-

+

createCollisionGroup( [object])

@@ -5411,7 +5485,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1411 + src/physics/p2/World.js line 1411 @@ -5440,7 +5514,7 @@
Parameters:
-

+

createContactMaterial( [materialA] [, materialB] [, options])

@@ -5625,7 +5699,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1246 + src/physics/p2/World.js line 1246 @@ -5678,7 +5752,7 @@
Returns:
-

+

createDistanceConstraint(bodyA, bodyB, distance [, localAnchorA] [, localAnchorB] [, maxForce])

@@ -5971,7 +6045,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 979 + src/physics/p2/World.js line 979 @@ -6024,7 +6098,7 @@
Returns:
-

+

createGearConstraint(bodyA, bodyB [, angle] [, ratio])

@@ -6273,7 +6347,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1007 + src/physics/p2/World.js line 1007 @@ -6326,7 +6400,7 @@
Returns:
-

+

createLockConstraint(bodyA, bodyB [, offset] [, angle] [, maxForce])

@@ -6611,7 +6685,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1062 + src/physics/p2/World.js line 1062 @@ -6664,7 +6738,7 @@
Returns:
-

+

createMaterial( [name] [, body])

@@ -6817,7 +6891,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1219 + src/physics/p2/World.js line 1219 @@ -6870,7 +6944,7 @@
Returns:
-

+

createParticle(x, y, mass [, addToWorld], options, points)

@@ -7333,7 +7407,7 @@
Properties
Source:
- src/physics/p2/World.js line 1584 + src/physics/p2/World.js line 1584 @@ -7362,7 +7436,7 @@
Properties
-

+

createPrismaticConstraint(bodyA, bodyB [, lockRotation] [, anchorA] [, anchorB] [, axis] [, maxForce])

@@ -7724,7 +7798,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1089 + src/physics/p2/World.js line 1089 @@ -7777,7 +7851,7 @@
Returns:
-

+

createRevoluteConstraint(bodyA, pivotA, bodyB, pivotB [, maxForce] [, worldPivot])

@@ -8099,7 +8173,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1033 + src/physics/p2/World.js line 1033 @@ -8152,7 +8226,7 @@
Returns:
-

+

createRotationalSpring(bodyA, bodyB [, restAngle] [, stiffness] [, damping])

@@ -8439,7 +8513,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1515 + src/physics/p2/World.js line 1515 @@ -8492,7 +8566,7 @@
Returns:
-

+

createSpring(bodyA, bodyB [, restLength] [, stiffness] [, damping] [, worldA] [, worldB] [, localA] [, localB])

@@ -8933,7 +9007,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1484 + src/physics/p2/World.js line 1484 @@ -8986,7 +9060,7 @@
Returns:
-

+

destroy()

@@ -9041,7 +9115,7 @@

Source:
- src/physics/p2/World.js line 874 + src/physics/p2/World.js line 874 @@ -9070,7 +9144,7 @@

-

+

enable(object [, debug] [, children])

@@ -9279,7 +9353,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 313 + src/physics/p2/World.js line 313 @@ -9308,7 +9382,7 @@
Parameters:
-

+

enableBody(object, debug)

@@ -9438,7 +9512,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 372 + src/physics/p2/World.js line 372 @@ -9467,7 +9541,7 @@
Parameters:
-

+

endContactHandler(event)

@@ -9572,7 +9646,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 527 + src/physics/p2/World.js line 527 @@ -9601,7 +9675,7 @@
Parameters:
-

+

getBodies()

@@ -9656,7 +9730,7 @@

Source:
- src/physics/p2/World.js line 1266 + src/physics/p2/World.js line 1266 @@ -9709,7 +9783,7 @@
Returns:
-

+

getBody(object)

@@ -9814,7 +9888,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1286 + src/physics/p2/World.js line 1286 @@ -9867,7 +9941,7 @@
Returns:
-

+

getConstraints()

@@ -9924,7 +9998,7 @@

Source:
- src/physics/p2/World.js line 1335 + src/physics/p2/World.js line 1335 @@ -9977,7 +10051,7 @@
Returns:
-

+

getContactMaterial(materialA, materialB)

@@ -10106,7 +10180,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1187 + src/physics/p2/World.js line 1187 @@ -10162,7 +10236,7 @@
Returns:
-

+

getSprings()

@@ -10217,7 +10291,7 @@

Source:
- src/physics/p2/World.js line 1315 + src/physics/p2/World.js line 1315 @@ -10270,7 +10344,7 @@
Returns:
-

+

hitTest(worldPoint [, bodies] [, precision] [, filterStatic])

@@ -10510,7 +10584,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1357 + src/physics/p2/World.js line 1357 @@ -10563,7 +10637,7 @@
Returns:
-

+

mpx(v)

@@ -10670,7 +10744,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1777 + src/physics/p2/World.js line 1777 @@ -10723,7 +10797,7 @@
Returns:
-

+

mpxi(v)

@@ -10830,7 +10904,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1807 + src/physics/p2/World.js line 1807 @@ -10883,7 +10957,7 @@
Returns:
-

+

pause()

@@ -10938,7 +11012,7 @@

Source:
- src/physics/p2/World.js line 733 + src/physics/p2/World.js line 733 @@ -10967,7 +11041,7 @@

-

+

preUpdate()

@@ -11022,7 +11096,7 @@

Source:
- src/physics/p2/World.js line 295 + src/physics/p2/World.js line 295 @@ -11051,7 +11125,7 @@

-

+

pxm(v)

@@ -11158,7 +11232,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1792 + src/physics/p2/World.js line 1792 @@ -11211,7 +11285,7 @@
Returns:
-

+

pxmi(v)

@@ -11318,7 +11392,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1822 + src/physics/p2/World.js line 1822 @@ -11371,7 +11445,7 @@
Returns:
-

+

removeBody(body)

@@ -11476,7 +11550,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 911 + src/physics/p2/World.js line 911 @@ -11529,7 +11603,7 @@
Returns:
-

+

removeBodyNextStep(body)

@@ -11634,7 +11708,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 283 + src/physics/p2/World.js line 283 @@ -11663,7 +11737,7 @@
Parameters:
-

+

removeConstraint(constraint)

@@ -11768,7 +11842,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1136 + src/physics/p2/World.js line 1136 @@ -11821,7 +11895,7 @@
Returns:
-

+

removeContactMaterial(material)

@@ -11926,7 +12000,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1170 + src/physics/p2/World.js line 1170 @@ -11979,7 +12053,7 @@
Returns:
-

+

removeSpring(spring)

@@ -12084,7 +12158,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 955 + src/physics/p2/World.js line 955 @@ -12137,7 +12211,7 @@
Returns:
-

+

reset()

@@ -12193,7 +12267,7 @@

Source:
- src/physics/p2/World.js line 779 + src/physics/p2/World.js line 779 @@ -12222,7 +12296,7 @@

-

+

resume()

@@ -12277,7 +12351,7 @@

Source:
- src/physics/p2/World.js line 744 + src/physics/p2/World.js line 744 @@ -12306,7 +12380,7 @@

-

+

setBounds(x, y, width, height [, left] [, right] [, top] [, bottom] [, setCollisionGroup])

@@ -12740,7 +12814,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 646 + src/physics/p2/World.js line 646 @@ -12769,7 +12843,7 @@
Parameters:
-

+

setImpactEvents(state)

@@ -12875,7 +12949,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 393 + src/physics/p2/World.js line 393 @@ -12904,7 +12978,7 @@
Parameters:
-

+

setMaterial(material, bodies)

@@ -13033,7 +13107,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1201 + src/physics/p2/World.js line 1201 @@ -13062,7 +13136,7 @@
Parameters:
-

+

setPostBroadphaseCallback(callback, context)

@@ -13194,7 +13268,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 413 + src/physics/p2/World.js line 413 @@ -13223,7 +13297,7 @@
Parameters:
-

+

toJSON()

@@ -13278,7 +13352,7 @@

Source:
- src/physics/p2/World.js line 1399 + src/physics/p2/World.js line 1399 @@ -13331,7 +13405,7 @@
Returns:
-

+

update()

@@ -13386,7 +13460,7 @@

Source:
- src/physics/p2/World.js line 755 + src/physics/p2/World.js line 755 @@ -13415,7 +13489,7 @@

-

+

updateBoundsCollisionGroup( [setCollisionGroup])

@@ -13542,7 +13616,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 608 + src/physics/p2/World.js line 608 @@ -13585,9 +13659,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -13604,9 +13678,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -13618,7 +13692,7 @@
Parameters:
- +
@@ -13633,7 +13707,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.html b/docs/Phaser.Physics.html index 1005ee932..9a46363ef 100644 --- a/docs/Phaser.Physics.html +++ b/docs/Phaser.Physics.html @@ -6,7 +6,7 @@ Phaser CE Class: Physics - + @@ -125,7 +125,7 @@

-

+

new Physics(game [, physicsConfig])

@@ -290,7 +290,7 @@
Parameters:
Source:
- src/physics/Physics.js line 21 + src/physics/Physics.js line 21 @@ -347,9 +347,11 @@

Members

-
-

<static, constant> ARCADE :number

- +
+

+ <static, constant> ARCADE : number + +

@@ -402,7 +404,7 @@
Type:
Source:
- src/physics/Physics.js line 73 + src/physics/Physics.js line 73 @@ -418,9 +420,11 @@
Type:
-
-

<static, constant> BOX2D :number

- +
+

+ <static, constant> BOX2D : number + +

@@ -473,7 +477,7 @@
Type:
Source:
- src/physics/Physics.js line 91 + src/physics/Physics.js line 91 @@ -489,9 +493,11 @@
Type:
-
-

<static, constant> CHIPMUNK :number

- +
+

+ <static, constant> CHIPMUNK : number + +

@@ -544,7 +550,7 @@
Type:
Source:
- src/physics/Physics.js line 97 + src/physics/Physics.js line 97 @@ -560,9 +566,11 @@
Type:
-
-

<static, constant> MATTERJS :number

- +
+

+ <static, constant> MATTERJS : number + +

@@ -615,7 +623,7 @@
Type:
Source:
- src/physics/Physics.js line 103 + src/physics/Physics.js line 103 @@ -631,9 +639,11 @@
Type:
-
-

<static, constant> NINJA :number

- +
+

+ <static, constant> NINJA : number + +

@@ -686,7 +696,7 @@
Type:
Source:
- src/physics/Physics.js line 85 + src/physics/Physics.js line 85 @@ -702,9 +712,11 @@
Type:
-
-

<static, constant> P2JS :number

- +
+

+ <static, constant> P2JS : number + +

@@ -757,7 +769,7 @@
Type:
Source:
- src/physics/Physics.js line 79 + src/physics/Physics.js line 79 @@ -773,9 +785,11 @@
Type:
-
-

arcade :Phaser.Physics.Arcade

- +
+

+ arcade : Phaser.Physics.Arcade + +

@@ -832,7 +846,7 @@
Type:
Source:
- src/physics/Physics.js line 38 + src/physics/Physics.js line 38 @@ -848,9 +862,11 @@
Type:
-
-

box2d :Phaser.Physics.Box2D

- +
+

+ box2d : Phaser.Physics.Box2D + +

@@ -907,7 +923,7 @@
Type:
Source:
- src/physics/Physics.js line 53 + src/physics/Physics.js line 53 @@ -923,9 +939,11 @@
Type:
-
-

chipmunk :Phaser.Physics.Chipmunk

- +
+

+ chipmunk : Phaser.Physics.Chipmunk + +

@@ -982,7 +1000,7 @@
Type:
Source:
- src/physics/Physics.js line 58 + src/physics/Physics.js line 58 @@ -998,9 +1016,11 @@
Type:
-
-

config :object

- +
+

+ config : object + +

@@ -1057,7 +1077,7 @@
Type:
Source:
- src/physics/Physics.js line 33 + src/physics/Physics.js line 33 @@ -1073,9 +1093,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -1132,7 +1154,7 @@
Type:
Source:
- src/physics/Physics.js line 28 + src/physics/Physics.js line 28 @@ -1148,9 +1170,11 @@
Type:
-
-

matter :Phaser.Physics.Matter

- +
+

+ matter : Phaser.Physics.Matter + +

@@ -1207,7 +1231,7 @@
Type:
Source:
- src/physics/Physics.js line 63 + src/physics/Physics.js line 63 @@ -1223,9 +1247,11 @@
Type:
-
-

ninja :Phaser.Physics.Ninja

- +
+

+ ninja : Phaser.Physics.Ninja + +

@@ -1282,7 +1308,7 @@
Type:
Source:
- src/physics/Physics.js line 48 + src/physics/Physics.js line 48 @@ -1298,9 +1324,11 @@
Type:
-
-

p2 :Phaser.Physics.P2

- +
+

+ p2 : Phaser.Physics.P2 + +

@@ -1357,7 +1385,7 @@
Type:
Source:
- src/physics/Physics.js line 43 + src/physics/Physics.js line 43 @@ -1380,7 +1408,7 @@

Methods

-

+

<protected> clear()

@@ -1435,7 +1463,7 @@

Source:
- src/physics/Physics.js line 349 + src/physics/Physics.js line 349 @@ -1464,7 +1492,7 @@

-

+

destroy()

@@ -1519,7 +1547,7 @@

Source:
- src/physics/Physics.js line 399 + src/physics/Physics.js line 399 @@ -1548,7 +1576,7 @@

-

+

enable(object [, system] [, debug])

@@ -1762,7 +1790,7 @@
Parameters:
Source:
- src/physics/Physics.js line 208 + src/physics/Physics.js line 208 @@ -1791,7 +1819,7 @@
Parameters:
-

+

parseConfig()

@@ -1846,7 +1874,7 @@

Source:
- src/physics/Physics.js line 107 + src/physics/Physics.js line 107 @@ -1875,7 +1903,7 @@

-

+

<protected> preUpdate()

@@ -1930,7 +1958,7 @@

Source:
- src/physics/Physics.js line 260 + src/physics/Physics.js line 260 @@ -1959,7 +1987,7 @@

-

+

<protected> reset()

@@ -2014,7 +2042,91 @@

Source:
- src/physics/Physics.js line 374 + src/physics/Physics.js line 374 + + + + + + + +

+ + + + + + + + + + + + + + + +
+ + + +
+

+ <protected> setBoundsToWorld() + +

+ +
+
+ + +
+

Updates the physics bounds to match the world dimensions.

+
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/physics/Physics.js line 314 @@ -2043,7 +2155,7 @@

-

+

setBoundsToWorld( [left] [, right] [, top] [, bottom] [, setCollisionGroup])

@@ -2329,91 +2441,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 552 - - - - - - - -

- - - - - - - - - - - - - - - -
- - - -
-

- <protected> setBoundsToWorld() - -

- -
-
- - -
-

Updates the physics bounds to match the world dimensions.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - src/physics/Physics.js line 314 + src/physics/p2/World.js line 552 @@ -2442,7 +2470,7 @@

-

+

setWorldMaterial(material [, left] [, right] [, top] [, bottom])

@@ -2723,7 +2751,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 569 + src/physics/p2/World.js line 569 @@ -2752,7 +2780,7 @@
Parameters:
-

+

startSystem(system)

@@ -2867,7 +2895,7 @@
Parameters:
Source:
- src/physics/Physics.js line 142 + src/physics/Physics.js line 142 @@ -2896,7 +2924,7 @@
Parameters:
-

+

<protected> update()

@@ -2951,7 +2979,7 @@

Source:
- src/physics/Physics.js line 287 + src/physics/Physics.js line 287 @@ -2994,9 +3022,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -3013,9 +3041,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3027,7 +3055,7 @@

- +
@@ -3042,7 +3070,7 @@

- + diff --git a/docs/Phaser.Plugin.PathManager.html b/docs/Phaser.Plugin.PathManager.html index 00c3f295e..6eb82d61e 100644 --- a/docs/Phaser.Plugin.PathManager.html +++ b/docs/Phaser.Plugin.PathManager.html @@ -6,7 +6,7 @@ Phaser CE Class: PathManager - + @@ -125,7 +125,7 @@

-

+

new PathManager(game, parent)

@@ -255,7 +255,7 @@
Parameters:
Source:
- src/plugins/path/PathManagerPlugin.js line 17 + src/plugins/path/PathManagerPlugin.js line 17 @@ -302,7 +302,7 @@

Methods

-

+

createPathsFromJSON()

@@ -360,7 +360,7 @@

Source:
- src/plugins/path/PathManagerPlugin.js line 47 + src/plugins/path/PathManagerPlugin.js line 47 @@ -403,9 +403,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -422,9 +422,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -436,7 +436,7 @@

- +
@@ -451,7 +451,7 @@

- + diff --git a/docs/Phaser.Plugin.html b/docs/Phaser.Plugin.html index b2caca7de..e6aa3eb4b 100644 --- a/docs/Phaser.Plugin.html +++ b/docs/Phaser.Plugin.html @@ -6,7 +6,7 @@ Phaser CE Class: Plugin - + @@ -125,7 +125,7 @@

-

+

new Plugin(game, parent)

@@ -136,6 +136,49 @@

This is a base Plugin template to use for any Phaser plugin development.

+
Callbacks
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addactivevisibleremove
init
preUpdate*
update*render*
postUpdate*postRender*
destroy
+

Update and render calls are repeated (*).

@@ -254,7 +297,7 @@

Parameters:
Source:
- src/core/Plugin.js line 15 + src/core/Plugin.js line 27 @@ -305,9 +348,11 @@

Members

-
-

active :boolean

- +
+

+ active : boolean + +

@@ -364,7 +409,7 @@
Type:
Source:
- src/core/Plugin.js line 33 + src/core/Plugin.js line 45 @@ -380,9 +425,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -439,7 +486,7 @@
Type:
Source:
- src/core/Plugin.js line 22 + src/core/Plugin.js line 34 @@ -455,9 +502,11 @@
Type:
-
-

hasPostRender :boolean

- +
+

+ hasPostRender : boolean + +

@@ -514,7 +563,7 @@
Type:
Source:
- src/core/Plugin.js line 69 + src/core/Plugin.js line 81 @@ -530,9 +579,11 @@
Type:
-
-

hasPostUpdate :boolean

- +
+

+ hasPostUpdate : boolean + +

@@ -589,7 +640,7 @@
Type:
Source:
- src/core/Plugin.js line 57 + src/core/Plugin.js line 69 @@ -605,9 +656,11 @@
Type:
-
-

hasPreUpdate :boolean

- +
+

+ hasPreUpdate : boolean + +

@@ -664,7 +717,7 @@
Type:
Source:
- src/core/Plugin.js line 45 + src/core/Plugin.js line 57 @@ -680,9 +733,11 @@
Type:
-
-

hasRender :boolean

- +
+

+ hasRender : boolean + +

@@ -739,7 +794,7 @@
Type:
Source:
- src/core/Plugin.js line 63 + src/core/Plugin.js line 75 @@ -755,9 +810,11 @@
Type:
-
-

hasUpdate :boolean

- +
+

+ hasUpdate : boolean + +

@@ -814,7 +871,7 @@
Type:
Source:
- src/core/Plugin.js line 51 + src/core/Plugin.js line 63 @@ -830,9 +887,11 @@
Type:
-
-

parent :any

- +
+

+ parent : any + +

@@ -889,7 +948,7 @@
Type:
Source:
- src/core/Plugin.js line 27 + src/core/Plugin.js line 39 @@ -905,9 +964,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -964,7 +1025,7 @@
Type:
Source:
- src/core/Plugin.js line 39 + src/core/Plugin.js line 51 @@ -987,7 +1048,7 @@

Methods

-

+

destroy()

@@ -1042,7 +1103,7 @@

Source:
- src/core/Plugin.js line 107 + src/core/Plugin.js line 119 @@ -1071,7 +1132,7 @@

-

+

postRender()

@@ -1127,7 +1188,7 @@

Source:
- src/core/Plugin.js line 99 + src/core/Plugin.js line 111 @@ -1156,7 +1217,7 @@

-

+

preUpdate()

@@ -1212,7 +1273,7 @@

Source:
- src/core/Plugin.js line 75 + src/core/Plugin.js line 87 @@ -1241,7 +1302,7 @@

-

+

render()

@@ -1297,7 +1358,7 @@

Source:
- src/core/Plugin.js line 91 + src/core/Plugin.js line 103 @@ -1326,7 +1387,7 @@

-

+

update()

@@ -1382,7 +1443,7 @@

Source:
- src/core/Plugin.js line 83 + src/core/Plugin.js line 95 @@ -1425,9 +1486,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1444,9 +1505,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1458,7 +1519,7 @@

- +
@@ -1473,7 +1534,7 @@

- + diff --git a/docs/Phaser.PluginManager.html b/docs/Phaser.PluginManager.html index e826659ed..476c48a75 100644 --- a/docs/Phaser.PluginManager.html +++ b/docs/Phaser.PluginManager.html @@ -6,7 +6,7 @@ Phaser CE Class: PluginManager - + @@ -125,7 +125,7 @@

-

+

new PluginManager(game)

@@ -230,7 +230,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 16 + src/core/PluginManager.js line 16 @@ -274,9 +274,11 @@

Members

-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -333,7 +335,7 @@
Type:
Source:
- src/core/PluginManager.js line 21 + src/core/PluginManager.js line 21 @@ -349,9 +351,11 @@
Type:
-
-

plugins :Array.<Phaser.Plugin>

- +
+

+ plugins : Array.<Phaser.Plugin> + +

@@ -408,7 +412,7 @@
Type:
Source:
- src/core/PluginManager.js line 26 + src/core/PluginManager.js line 26 @@ -431,7 +435,7 @@

Methods

-

+

add(plugin, parameter)

@@ -584,7 +588,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 44 + src/core/PluginManager.js line 44 @@ -637,7 +641,7 @@
Returns:
-

+

destroy()

@@ -692,7 +696,7 @@

Source:
- src/core/PluginManager.js line 279 + src/core/PluginManager.js line 279 @@ -721,7 +725,7 @@

-

+

postRender()

@@ -777,7 +781,7 @@

Source:
- src/core/PluginManager.js line 259 + src/core/PluginManager.js line 259 @@ -806,7 +810,7 @@

-

+

postUpdate()

@@ -863,7 +867,7 @@

Source:
- src/core/PluginManager.js line 218 + src/core/PluginManager.js line 218 @@ -892,7 +896,7 @@

-

+

preUpdate()

@@ -948,7 +952,7 @@

Source:
- src/core/PluginManager.js line 178 + src/core/PluginManager.js line 178 @@ -977,7 +981,7 @@

-

+

remove(plugin [, destroy])

@@ -1138,7 +1142,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 129 + src/core/PluginManager.js line 129 @@ -1167,7 +1171,7 @@
Parameters:
-

+

removeAll()

@@ -1222,7 +1226,7 @@

Source:
- src/core/PluginManager.js line 159 + src/core/PluginManager.js line 159 @@ -1251,7 +1255,7 @@

-

+

render()

@@ -1307,7 +1311,7 @@

Source:
- src/core/PluginManager.js line 239 + src/core/PluginManager.js line 239 @@ -1336,7 +1340,7 @@

-

+

update()

@@ -1392,7 +1396,7 @@

Source:
- src/core/PluginManager.js line 198 + src/core/PluginManager.js line 198 @@ -1435,9 +1439,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1454,9 +1458,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1468,7 +1472,7 @@

- +
@@ -1483,7 +1487,7 @@

- + diff --git a/docs/Phaser.Point.html b/docs/Phaser.Point.html index 148ee45e1..fcdbe51be 100644 --- a/docs/Phaser.Point.html +++ b/docs/Phaser.Point.html @@ -6,7 +6,7 @@ Phaser CE Class: Point - + @@ -125,7 +125,7 @@

-

+

new Point( [x] [, y])

@@ -293,7 +293,7 @@
Parameters:
Source:
- src/geom/Point.js line 18 + src/geom/Point.js line 18 @@ -337,9 +337,11 @@

Members

-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -396,7 +398,7 @@
Type:
Source:
- src/geom/Point.js line 37 + src/geom/Point.js line 37 @@ -412,9 +414,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -471,7 +475,7 @@
Type:
Source:
- src/geom/Point.js line 26 + src/geom/Point.js line 26 @@ -487,9 +491,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -546,7 +552,7 @@
Type:
Source:
- src/geom/Point.js line 31 + src/geom/Point.js line 31 @@ -569,7 +575,7 @@

Methods

-

+

<static> add(a, b [, out])

@@ -750,7 +756,7 @@
Parameters:
Source:
- src/geom/Point.js line 525 + src/geom/Point.js line 525 @@ -803,7 +809,7 @@
Returns:
-

+

<static> angle(a, b)

@@ -932,7 +938,7 @@
Parameters:
Source:
- src/geom/Point.js line 619 + src/geom/Point.js line 619 @@ -985,7 +991,7 @@
Returns:
-

+

<static> centroid(points [, out])

@@ -1134,7 +1140,7 @@
Parameters:
Source:
- src/geom/Point.js line 866 + src/geom/Point.js line 866 @@ -1187,7 +1193,7 @@
Returns:
-

+

<static> distance(a, b [, round])

@@ -1384,7 +1390,7 @@
Parameters:
Source:
- src/geom/Point.js line 718 + src/geom/Point.js line 718 @@ -1437,7 +1443,7 @@
Returns:
-

+

<static> divide(a, b [, out])

@@ -1618,7 +1624,7 @@
Parameters:
Source:
- src/geom/Point.js line 585 + src/geom/Point.js line 585 @@ -1671,7 +1677,7 @@
Returns:
-

+

<static> equals(a, b)

@@ -1800,7 +1806,7 @@
Parameters:
Source:
- src/geom/Point.js line 605 + src/geom/Point.js line 605 @@ -1853,7 +1859,7 @@
Returns:
-

+

<static> interpolate(a, b, f [, out])

@@ -2066,7 +2072,7 @@
Parameters:
Source:
- src/geom/Point.js line 668 + src/geom/Point.js line 668 @@ -2119,7 +2125,7 @@
Returns:
-

+

<static> isPoint()

@@ -2174,7 +2180,7 @@

Source:
- src/geom/Point.js line 939 + src/geom/Point.js line 939 @@ -2229,7 +2235,7 @@
Returns:
-

+

<static> multiply(a, b [, out])

@@ -2410,7 +2416,7 @@
Parameters:
Source:
- src/geom/Point.js line 565 + src/geom/Point.js line 565 @@ -2463,7 +2469,7 @@
Returns:
-

+

<static> multiplyAdd(a, b, s [, out])

@@ -2676,7 +2682,7 @@
Parameters:
Source:
- src/geom/Point.js line 650 + src/geom/Point.js line 650 @@ -2729,7 +2735,7 @@
Returns:
-

+

<static> negative(a [, out])

@@ -2878,7 +2884,7 @@
Parameters:
Source:
- src/geom/Point.js line 634 + src/geom/Point.js line 634 @@ -2931,7 +2937,7 @@
Returns:
-

+

<static> normalize(a [, out])

@@ -3080,7 +3086,7 @@
Parameters:
Source:
- src/geom/Point.js line 798 + src/geom/Point.js line 798 @@ -3133,7 +3139,7 @@
Returns:
-

+

<static> normalRightHand(a [, out])

@@ -3282,7 +3288,7 @@
Parameters:
Source:
- src/geom/Point.js line 782 + src/geom/Point.js line 782 @@ -3335,7 +3341,7 @@
Returns:
-

+

<static> parse(obj [, xProp] [, yProp])

@@ -3537,7 +3543,7 @@
Parameters:
Source:
- src/geom/Point.js line 907 + src/geom/Point.js line 907 @@ -3590,7 +3596,7 @@
Returns:
-

+

<static> perp(a [, out])

@@ -3739,7 +3745,7 @@
Parameters:
Source:
- src/geom/Point.js line 686 + src/geom/Point.js line 686 @@ -3792,7 +3798,7 @@
Returns:
-

+

<static> project(a, b [, out])

@@ -3973,7 +3979,7 @@
Parameters:
Source:
- src/geom/Point.js line 734 + src/geom/Point.js line 734 @@ -4026,7 +4032,7 @@
Returns:
-

+

<static> projectUnit(a, b [, out])

@@ -4207,7 +4213,7 @@
Parameters:
Source:
- src/geom/Point.js line 758 + src/geom/Point.js line 758 @@ -4260,7 +4266,7 @@
Returns:
-

+

<static> rotate(a, x, y, angle [, asDegrees] [, distance])

@@ -4571,7 +4577,7 @@
Parameters:
Source:
- src/geom/Point.js line 821 + src/geom/Point.js line 821 @@ -4624,7 +4630,7 @@
Returns:
-

+

<static> rperp(a [, out])

@@ -4773,7 +4779,7 @@
Parameters:
Source:
- src/geom/Point.js line 702 + src/geom/Point.js line 702 @@ -4826,7 +4832,7 @@
Returns:
-

+

<static> subtract(a, b [, out])

@@ -5007,7 +5013,7 @@
Parameters:
Source:
- src/geom/Point.js line 545 + src/geom/Point.js line 545 @@ -5060,7 +5066,7 @@
Returns:
-

+

add(x, y)

@@ -5189,7 +5195,7 @@
Parameters:
Source:
- src/geom/Point.js line 122 + src/geom/Point.js line 122 @@ -5242,7 +5248,7 @@
Returns:
-

+

angle(a [, asDegrees])

@@ -5406,7 +5412,7 @@
Parameters:
Source:
- src/geom/Point.js line 297 + src/geom/Point.js line 297 @@ -5459,7 +5465,7 @@
Returns:
-

+

ceil()

@@ -5514,7 +5520,7 @@

Source:
- src/geom/Point.js line 497 + src/geom/Point.js line 497 @@ -5567,7 +5573,7 @@
Returns:
-

+

clamp(min, max)

@@ -5696,7 +5702,7 @@
Parameters:
Source:
- src/geom/Point.js line 216 + src/geom/Point.js line 216 @@ -5749,7 +5755,7 @@
Returns:
-

+

clampX(min, max)

@@ -5878,7 +5884,7 @@
Parameters:
Source:
- src/geom/Point.js line 186 + src/geom/Point.js line 186 @@ -5931,7 +5937,7 @@
Returns:
-

+

clampY(min, max)

@@ -6060,7 +6066,7 @@
Parameters:
Source:
- src/geom/Point.js line 201 + src/geom/Point.js line 201 @@ -6113,7 +6119,7 @@
Returns:
-

+

clone( [output])

@@ -6230,7 +6236,7 @@
Parameters:
Source:
- src/geom/Point.js line 232 + src/geom/Point.js line 232 @@ -6283,7 +6289,7 @@
Returns:
-

+

copyFrom(source)

@@ -6388,7 +6394,7 @@
Parameters:
Source:
- src/geom/Point.js line 43 + src/geom/Point.js line 43 @@ -6441,7 +6447,7 @@
Returns:
-

+

copyTo(dest)

@@ -6546,7 +6552,7 @@
Parameters:
Source:
- src/geom/Point.js line 254 + src/geom/Point.js line 254 @@ -6599,7 +6605,7 @@
Returns:
-

+

cross(a)

@@ -6704,7 +6710,7 @@
Parameters:
Source:
- src/geom/Point.js line 436 + src/geom/Point.js line 436 @@ -6757,7 +6763,7 @@
Returns:
-

+

distance(dest [, round])

@@ -6906,7 +6912,7 @@
Parameters:
Source:
- src/geom/Point.js line 270 + src/geom/Point.js line 270 @@ -6959,7 +6965,7 @@
Returns:
-

+

divide(x, y)

@@ -7088,7 +7094,7 @@
Parameters:
Source:
- src/geom/Point.js line 170 + src/geom/Point.js line 170 @@ -7141,7 +7147,7 @@
Returns:
-

+

dot(a)

@@ -7246,7 +7252,7 @@
Parameters:
Source:
- src/geom/Point.js line 423 + src/geom/Point.js line 423 @@ -7299,7 +7305,7 @@
Returns:
-

+

equals(a)

@@ -7407,7 +7413,7 @@
Parameters:
Source:
- src/geom/Point.js line 284 + src/geom/Point.js line 284 @@ -7460,7 +7466,7 @@
Returns:
-

+

floor()

@@ -7515,7 +7521,7 @@

Source:
- src/geom/Point.js line 485 + src/geom/Point.js line 485 @@ -7568,7 +7574,7 @@
Returns:
-

+

getMagnitude()

@@ -7623,7 +7629,7 @@

Source:
- src/geom/Point.js line 337 + src/geom/Point.js line 337 @@ -7676,7 +7682,7 @@
Returns:
-

+

getMagnitudeSq()

@@ -7731,7 +7737,7 @@

Source:
- src/geom/Point.js line 349 + src/geom/Point.js line 349 @@ -7784,7 +7790,7 @@
Returns:
-

+

invert()

@@ -7839,7 +7845,7 @@

Source:
- src/geom/Point.js line 56 + src/geom/Point.js line 56 @@ -7892,7 +7898,7 @@
Returns:
-

+

isZero()

@@ -7947,7 +7953,7 @@

Source:
- src/geom/Point.js line 411 + src/geom/Point.js line 411 @@ -8000,7 +8006,7 @@
Returns:
-

+

limit(max)

@@ -8105,7 +8111,7 @@
Parameters:
Source:
- src/geom/Point.js line 393 + src/geom/Point.js line 393 @@ -8158,7 +8164,7 @@
Returns:
-

+

multiply(x, y)

@@ -8287,7 +8293,7 @@
Parameters:
Source:
- src/geom/Point.js line 154 + src/geom/Point.js line 154 @@ -8340,7 +8346,7 @@
Returns:
-

+

normalize()

@@ -8395,7 +8401,7 @@

Source:
- src/geom/Point.js line 374 + src/geom/Point.js line 374 @@ -8448,7 +8454,7 @@
Returns:
-

+

normalRightHand()

@@ -8503,7 +8509,7 @@

Source:
- src/geom/Point.js line 473 + src/geom/Point.js line 473 @@ -8556,7 +8562,7 @@
Returns:
-

+

perp()

@@ -8611,7 +8617,7 @@

Source:
- src/geom/Point.js line 449 + src/geom/Point.js line 449 @@ -8664,7 +8670,7 @@
Returns:
-

+

rotate(x, y, angle [, asDegrees] [, distance])

@@ -8935,7 +8941,7 @@
Parameters:
Source:
- src/geom/Point.js line 320 + src/geom/Point.js line 320 @@ -8988,7 +8994,7 @@
Returns:
-

+

rperp()

@@ -9043,7 +9049,7 @@

Source:
- src/geom/Point.js line 461 + src/geom/Point.js line 461 @@ -9096,8 +9102,8 @@
Returns:
-

- set(obj, x [, y]) +

+ set(x [, y])

@@ -9106,7 +9112,10 @@

-

Sets the x and y values of an object and returns the object.

+

Sets the x and y values of this Point object to the given values. +If you omit the y value then the x value will be applied to both, for example: +Point.set(2) is the same as Point.set(2, 2)

+

Identical to setTo.

@@ -9141,38 +9150,6 @@

Parameters:
- - - obj - - - - - -object - - - - - - - - - - - - - - - - - - -

An object with numeric x and y properties.

- - - - x @@ -9200,7 +9177,7 @@
Parameters:
-

The x value.

+

The horizontal value of this point.

@@ -9234,7 +9211,7 @@
Parameters:
-

The y value. If not given the x value will be used in its place.

+

The vertical value of this point. If not given the x value will be used in its place.

@@ -9277,7 +9254,7 @@
Parameters:
Source:
- src/geom/Point.js line 952 + src/geom/Point.js line 86 @@ -9303,7 +9280,7 @@
Returns:
-

The object. Useful for chaining method calls.

+

This Point object. Useful for chaining method calls.

@@ -9314,7 +9291,7 @@
Returns:

-object +Phaser.Point @@ -9330,8 +9307,8 @@
Returns:
-

- set(x [, y]) +

+ set(obj, x [, y])

@@ -9340,10 +9317,7 @@

-

Sets the x and y values of this Point object to the given values. -If you omit the y value then the x value will be applied to both, for example: -Point.set(2) is the same as Point.set(2, 2)

-

Identical to setTo.

+

Sets the x and y values of an object and returns the object.

@@ -9378,6 +9352,38 @@

Parameters:
+ + + obj + + + + + +object + + + + + + + + + + + + + + + + + + +

An object with numeric x and y properties.

+ + + + x @@ -9405,7 +9411,7 @@
Parameters:
-

The horizontal value of this point.

+

The x value.

@@ -9439,7 +9445,7 @@
Parameters:
-

The vertical value of this point. If not given the x value will be used in its place.

+

The y value. If not given the x value will be used in its place.

@@ -9482,7 +9488,7 @@
Parameters:
Source:
- src/geom/Point.js line 86 + src/geom/Point.js line 952 @@ -9508,7 +9514,7 @@
Returns:
-

This Point object. Useful for chaining method calls.

+

The object. Useful for chaining method calls.

@@ -9519,7 +9525,7 @@
Returns:

-Phaser.Point +object @@ -9535,7 +9541,7 @@
Returns:
-

+

setMagnitude(magnitude)

@@ -9640,7 +9646,7 @@
Parameters:
Source:
- src/geom/Point.js line 361 + src/geom/Point.js line 361 @@ -9693,7 +9699,7 @@
Returns:
-

+

setTo(x [, y])

@@ -9845,7 +9851,7 @@
Parameters:
Source:
- src/geom/Point.js line 68 + src/geom/Point.js line 68 @@ -9898,7 +9904,7 @@
Returns:
-

+

setToPolar(azimuth [, radius] [, asDegrees])

@@ -10099,7 +10105,7 @@
Parameters:
Source:
- src/geom/Point.js line 104 + src/geom/Point.js line 104 @@ -10152,7 +10158,7 @@
Returns:
-

+

subtract(x, y)

@@ -10281,7 +10287,7 @@
Parameters:
Source:
- src/geom/Point.js line 138 + src/geom/Point.js line 138 @@ -10334,7 +10340,7 @@
Returns:
-

+

toString()

@@ -10389,7 +10395,7 @@

Source:
- src/geom/Point.js line 509 + src/geom/Point.js line 509 @@ -10456,9 +10462,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -10475,9 +10481,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -10489,7 +10495,7 @@
Returns:
- +
@@ -10504,7 +10510,7 @@
Returns:
- + diff --git a/docs/Phaser.Pointer.html b/docs/Phaser.Pointer.html index 21f102935..c899b0037 100644 --- a/docs/Phaser.Pointer.html +++ b/docs/Phaser.Pointer.html @@ -6,7 +6,7 @@ Phaser CE Class: Pointer - + @@ -125,7 +125,7 @@

-

+

new Pointer(game, id, pointerMode)

@@ -294,7 +294,7 @@
Parameters:
Source:
- src/input/Pointer.js line 16 + src/input/Pointer.js line 16 @@ -338,9 +338,11 @@

Members

-
-

<static, constant> BACK_BUTTON :number

- +
+

+ <static, constant> BACK_BUTTON : number + +

@@ -398,7 +400,7 @@
Type:
Source:
- src/input/Pointer.js line 397 + src/input/Pointer.js line 397 @@ -414,9 +416,11 @@
Type:
-
-

<static, constant> ERASER_BUTTON :number

- +
+

+ <static, constant> ERASER_BUTTON : number + +

@@ -473,7 +477,7 @@
Type:
Source:
- src/input/Pointer.js line 412 + src/input/Pointer.js line 412 @@ -489,9 +493,11 @@
Type:
-
-

<static, constant> FORWARD_BUTTON :number

- +
+

+ <static, constant> FORWARD_BUTTON : number + +

@@ -549,7 +555,7 @@
Type:
Source:
- src/input/Pointer.js line 405 + src/input/Pointer.js line 405 @@ -565,9 +571,11 @@
Type:
-
-

<static, constant> LEFT_BUTTON :number

- +
+

+ <static, constant> LEFT_BUTTON : number + +

@@ -624,7 +632,7 @@
Type:
Source:
- src/input/Pointer.js line 375 + src/input/Pointer.js line 375 @@ -640,9 +648,11 @@
Type:
-
-

<static, constant> MIDDLE_BUTTON :number

- +
+

+ <static, constant> MIDDLE_BUTTON : number + +

@@ -699,7 +709,7 @@
Type:
Source:
- src/input/Pointer.js line 389 + src/input/Pointer.js line 389 @@ -715,9 +725,11 @@
Type:
-
-

<static, constant> NO_BUTTON :number

- +
+

+ <static, constant> NO_BUTTON : number + +

@@ -774,7 +786,7 @@
Type:
Source:
- src/input/Pointer.js line 368 + src/input/Pointer.js line 368 @@ -790,9 +802,11 @@
Type:
-
-

<static, constant> RIGHT_BUTTON :number

- +
+

+ <static, constant> RIGHT_BUTTON : number + +

@@ -849,7 +863,7 @@
Type:
Source:
- src/input/Pointer.js line 382 + src/input/Pointer.js line 382 @@ -865,9 +879,11 @@
Type:
-
-

active :boolean

- +
+

+ active : boolean + +

@@ -924,7 +940,7 @@
Type:
Source:
- src/input/Pointer.js line 316 + src/input/Pointer.js line 316 @@ -940,9 +956,11 @@
Type:
-
-

backButton :Phaser.DeviceButton

- +
+

+ backButton : Phaser.DeviceButton + +

@@ -1002,7 +1020,7 @@
Type:
Source:
- src/input/Pointer.js line 120 + src/input/Pointer.js line 120 @@ -1018,9 +1036,11 @@
Type:
-
-

button :any

- +
+

+ button : any + +

@@ -1079,7 +1099,7 @@
Type:
Source:
- src/input/Pointer.js line 70 + src/input/Pointer.js line 70 @@ -1095,9 +1115,11 @@
Type:
-
-

circle :Phaser.Circle

- +
+

+ circle : Phaser.Circle + +

@@ -1155,7 +1177,7 @@
Type:
Source:
- src/input/Pointer.js line 344 + src/input/Pointer.js line 344 @@ -1171,9 +1193,11 @@
Type:
-
-

clientX :number

- +
+

+ clientX : number + +

@@ -1230,7 +1254,7 @@
Type:
Source:
- src/input/Pointer.js line 181 + src/input/Pointer.js line 181 @@ -1246,9 +1270,11 @@
Type:
-
-

clientY :number

- +
+

+ clientY : number + +

@@ -1305,7 +1331,7 @@
Type:
Source:
- src/input/Pointer.js line 186 + src/input/Pointer.js line 186 @@ -1321,9 +1347,11 @@
Type:
-
-

dirty :boolean

- +
+

+ dirty : boolean + +

@@ -1380,7 +1408,7 @@
Type:
Source:
- src/input/Pointer.js line 322 + src/input/Pointer.js line 322 @@ -1396,9 +1424,11 @@
Type:
-
-

<readonly> duration :number

- +
+

+ <readonly> duration : number + +

@@ -1457,7 +1487,7 @@
Type:
Source:
- src/input/Pointer.js line 1216 + src/input/Pointer.js line 1216 @@ -1473,9 +1503,11 @@
Type:
-
-

eraserButton :Phaser.DeviceButton

- +
+

+ eraserButton : Phaser.DeviceButton + +

@@ -1535,7 +1567,7 @@
Type:
Source:
- src/input/Pointer.js line 146 + src/input/Pointer.js line 146 @@ -1551,9 +1583,11 @@
Type:
-
-

exists :boolean

- +
+

+ exists : boolean + +

@@ -1617,7 +1651,7 @@
Type:
Source:
- src/input/Pointer.js line 38 + src/input/Pointer.js line 38 @@ -1633,9 +1667,11 @@
Type:
-
-

forwardButton :Phaser.DeviceButton

- +
+

+ forwardButton : Phaser.DeviceButton + +

@@ -1695,7 +1731,7 @@
Type:
Source:
- src/input/Pointer.js line 133 + src/input/Pointer.js line 133 @@ -1711,9 +1747,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -1770,7 +1808,7 @@
Type:
Source:
- src/input/Pointer.js line 21 + src/input/Pointer.js line 21 @@ -1786,9 +1824,11 @@
Type:
-
-

id :number

- +
+

+ id : number + +

@@ -1845,7 +1885,7 @@
Type:
Source:
- src/input/Pointer.js line 26 + src/input/Pointer.js line 26 @@ -1861,9 +1901,11 @@
Type:
-
-

identifier :number

- +
+

+ identifier : number + +

@@ -1920,7 +1962,7 @@
Type:
Source:
- src/input/Pointer.js line 44 + src/input/Pointer.js line 44 @@ -1936,9 +1978,11 @@
Type:
-
-

interactiveCandidates :array

- +
+

+ interactiveCandidates : array + +

@@ -2006,7 +2050,7 @@
Type:
Source:
- src/input/Pointer.js line 310 + src/input/Pointer.js line 310 @@ -2022,9 +2066,11 @@
Type:
-
-

isDown :boolean

- +
+

+ isDown : boolean + +

@@ -2082,7 +2128,7 @@
Type:
Source:
- src/input/Pointer.js line 255 + src/input/Pointer.js line 255 @@ -2098,9 +2144,11 @@
Type:
-
-

isMouse :boolean

- +
+

+ isMouse : boolean + +

@@ -2157,7 +2205,7 @@
Type:
Source:
- src/input/Pointer.js line 247 + src/input/Pointer.js line 247 @@ -2173,9 +2221,11 @@
Type:
-
-

isUp :boolean

- +
+

+ isUp : boolean + +

@@ -2240,7 +2290,7 @@
Type:
Source:
- src/input/Pointer.js line 263 + src/input/Pointer.js line 263 @@ -2256,9 +2306,11 @@
Type:
-
-

leftButton :Phaser.DeviceButton

- +
+

+ leftButton : Phaser.DeviceButton + +

@@ -2317,7 +2369,7 @@
Type:
Source:
- src/input/Pointer.js line 81 + src/input/Pointer.js line 81 @@ -2333,9 +2385,11 @@
Type:
-
-

middleButton :Phaser.DeviceButton

- +
+

+ middleButton : Phaser.DeviceButton + +

@@ -2395,7 +2449,7 @@
Type:
Source:
- src/input/Pointer.js line 94 + src/input/Pointer.js line 94 @@ -2411,9 +2465,11 @@
Type:
-
-

movementX :number

- +
+

+ movementX : number + +

@@ -2470,7 +2526,7 @@
Type:
Source:
- src/input/Pointer.js line 224 + src/input/Pointer.js line 224 @@ -2486,9 +2542,11 @@
Type:
-
-

movementY :number

- +
+

+ movementY : number + +

@@ -2545,7 +2603,7 @@
Type:
Source:
- src/input/Pointer.js line 230 + src/input/Pointer.js line 230 @@ -2561,9 +2619,11 @@
Type:
-
-

msSinceLastClick :number

- +
+

+ msSinceLastClick : number + +

@@ -2620,7 +2680,7 @@
Type:
Source:
- src/input/Pointer.js line 293 + src/input/Pointer.js line 293 @@ -2636,9 +2696,11 @@
Type:
-
-

pageX :number

- +
+

+ pageX : number + +

@@ -2695,7 +2757,7 @@
Type:
Source:
- src/input/Pointer.js line 191 + src/input/Pointer.js line 191 @@ -2711,9 +2773,11 @@
Type:
-
-

pageY :number

- +
+

+ pageY : number + +

@@ -2770,7 +2834,7 @@
Type:
Source:
- src/input/Pointer.js line 196 + src/input/Pointer.js line 196 @@ -2786,9 +2850,11 @@
Type:
-
-

pointerId :number

- +
+

+ pointerId : number + +

@@ -2845,7 +2911,7 @@
Type:
Source:
- src/input/Pointer.js line 50 + src/input/Pointer.js line 50 @@ -2861,9 +2927,11 @@
Type:
-
-

pointerMode :Phaser.PointerMode

- +
+

+ pointerMode : Phaser.PointerMode + +

@@ -2920,7 +2988,7 @@
Type:
Source:
- src/input/Pointer.js line 55 + src/input/Pointer.js line 55 @@ -2936,9 +3004,11 @@
Type:
-
-

position :Phaser.Point

- +
+

+ position : Phaser.Point + +

@@ -2995,7 +3065,7 @@
Type:
Source:
- src/input/Pointer.js line 327 + src/input/Pointer.js line 327 @@ -3011,9 +3081,11 @@
Type:
-
-

positionDown :Phaser.Point

- +
+

+ positionDown : Phaser.Point + +

@@ -3070,7 +3142,7 @@
Type:
Source:
- src/input/Pointer.js line 332 + src/input/Pointer.js line 332 @@ -3086,9 +3158,11 @@
Type:
-
-

positionUp :Phaser.Point

- +
+

+ positionUp : Phaser.Point + +

@@ -3145,7 +3219,7 @@
Type:
Source:
- src/input/Pointer.js line 337 + src/input/Pointer.js line 337 @@ -3161,9 +3235,11 @@
Type:
-
-

previousTapTime :number

- +
+

+ previousTapTime : number + +

@@ -3220,7 +3296,7 @@
Type:
Source:
- src/input/Pointer.js line 281 + src/input/Pointer.js line 281 @@ -3236,9 +3312,11 @@
Type:
-
-

rawMovementX :number

- +
+

+ rawMovementX : number + +

@@ -3295,7 +3373,7 @@
Type:
Source:
- src/input/Pointer.js line 212 + src/input/Pointer.js line 212 @@ -3311,9 +3389,11 @@
Type:
-
-

rawMovementY :number

- +
+

+ rawMovementY : number + +

@@ -3370,7 +3450,7 @@
Type:
Source:
- src/input/Pointer.js line 218 + src/input/Pointer.js line 218 @@ -3386,9 +3466,11 @@
Type:
-
-

rightButton :Phaser.DeviceButton

- +
+

+ rightButton : Phaser.DeviceButton + +

@@ -3448,7 +3530,7 @@
Type:
Source:
- src/input/Pointer.js line 107 + src/input/Pointer.js line 107 @@ -3464,9 +3546,11 @@
Type:
-
-

screenX :number

- +
+

+ screenX : number + +

@@ -3523,7 +3607,7 @@
Type:
Source:
- src/input/Pointer.js line 201 + src/input/Pointer.js line 201 @@ -3539,9 +3623,11 @@
Type:
-
-

screenY :number

- +
+

+ screenY : number + +

@@ -3598,7 +3684,7 @@
Type:
Source:
- src/input/Pointer.js line 206 + src/input/Pointer.js line 206 @@ -3614,9 +3700,11 @@
Type:
-
-

target :any

- +
+

+ target : any + +

@@ -3673,7 +3761,7 @@
Type:
Source:
- src/input/Pointer.js line 61 + src/input/Pointer.js line 61 @@ -3689,9 +3777,11 @@
Type:
-
-

targetObject :any

- +
+

+ targetObject : any + +

@@ -3748,7 +3838,7 @@
Type:
Source:
- src/input/Pointer.js line 299 + src/input/Pointer.js line 299 @@ -3764,9 +3854,11 @@
Type:
-
-

timeDown :number

- +
+

+ timeDown : number + +

@@ -3823,7 +3915,7 @@
Type:
Source:
- src/input/Pointer.js line 269 + src/input/Pointer.js line 269 @@ -3839,9 +3931,11 @@
Type:
-
-

timeUp :number

- +
+

+ timeUp : number + +

@@ -3898,7 +3992,7 @@
Type:
Source:
- src/input/Pointer.js line 275 + src/input/Pointer.js line 275 @@ -3914,9 +4008,11 @@
Type:
-
-

totalTouches :number

- +
+

+ totalTouches : number + +

@@ -3973,7 +4069,7 @@
Type:
Source:
- src/input/Pointer.js line 287 + src/input/Pointer.js line 287 @@ -3989,9 +4085,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -4048,7 +4146,7 @@
Type:
Source:
- src/input/Pointer.js line 32 + src/input/Pointer.js line 32 @@ -4064,9 +4162,11 @@
Type:
-
-

withinGame :boolean

- +
+

+ withinGame : boolean + +

@@ -4123,7 +4223,7 @@
Type:
Source:
- src/input/Pointer.js line 176 + src/input/Pointer.js line 176 @@ -4139,9 +4239,11 @@
Type:
-
-

<readonly> worldX :number

- +
+

+ <readonly> worldX : number + +

@@ -4198,7 +4300,7 @@
Type:
Source:
- src/input/Pointer.js line 1240 + src/input/Pointer.js line 1240 @@ -4214,9 +4316,11 @@
Type:
-
-

<readonly> worldY :number

- +
+

+ <readonly> worldY : number + +

@@ -4273,7 +4377,7 @@
Type:
Source:
- src/input/Pointer.js line 1256 + src/input/Pointer.js line 1256 @@ -4289,9 +4393,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -4348,7 +4454,7 @@
Type:
Source:
- src/input/Pointer.js line 236 + src/input/Pointer.js line 236 @@ -4364,9 +4470,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -4423,7 +4531,7 @@
Type:
Source:
- src/input/Pointer.js line 242 + src/input/Pointer.js line 242 @@ -4446,7 +4554,7 @@

Methods

-

+

<protected> addClickTrampoline(name, callback, callbackContext, callbackArgs)

@@ -4631,7 +4739,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1097 + src/input/Pointer.js line 1097 @@ -4660,7 +4768,7 @@
Parameters:
-

+

justPressed( [duration])

@@ -4779,7 +4887,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1065 + src/input/Pointer.js line 1065 @@ -4832,7 +4940,7 @@
Returns:
-

+

justReleased( [duration])

@@ -4951,7 +5059,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1081 + src/input/Pointer.js line 1081 @@ -5004,7 +5112,7 @@
Returns:
-

+

leave(event)

@@ -5115,7 +5223,7 @@
Parameters:
Source:
- src/input/Pointer.js line 969 + src/input/Pointer.js line 969 @@ -5144,7 +5252,7 @@
Parameters:
-

+

move(event [, fromClick])

@@ -5311,7 +5419,7 @@
Parameters:
Source:
- src/input/Pointer.js line 739 + src/input/Pointer.js line 739 @@ -5340,7 +5448,7 @@
Parameters:
-

+

<protected> processInteractiveObjects( [fromClick])

@@ -5465,7 +5573,7 @@
Parameters:
Source:
- src/input/Pointer.js line 830 + src/input/Pointer.js line 830 @@ -5518,7 +5626,7 @@
Returns:
-

+

reset()

@@ -5573,7 +5681,7 @@

Source:
- src/input/Pointer.js line 1171 + src/input/Pointer.js line 1171 @@ -5602,7 +5710,7 @@

-

+

<protected> resetButtons()

@@ -5657,7 +5765,7 @@

Source:
- src/input/Pointer.js line 416 + src/input/Pointer.js line 416 @@ -5686,7 +5794,7 @@

-

+

resetMovement()

@@ -5741,7 +5849,7 @@

Source:
- src/input/Pointer.js line 1201 + src/input/Pointer.js line 1201 @@ -5770,7 +5878,7 @@

-

+

start(event)

@@ -5875,7 +5983,7 @@
Parameters:
Source:
- src/input/Pointer.js line 617 + src/input/Pointer.js line 617 @@ -5904,7 +6012,7 @@
Parameters:
-

+

stop(event)

@@ -6015,7 +6123,7 @@
Parameters:
Source:
- src/input/Pointer.js line 982 + src/input/Pointer.js line 982 @@ -6044,7 +6152,7 @@
Parameters:
-

+

swapTarget(newTarget [, silent])

@@ -6208,7 +6316,7 @@
Parameters:
Source:
- src/input/Pointer.js line 910 + src/input/Pointer.js line 910 @@ -6237,7 +6345,7 @@
Parameters:
-

+

update()

@@ -6292,7 +6400,7 @@

Source:
- src/input/Pointer.js line 687 + src/input/Pointer.js line 687 @@ -6321,7 +6429,7 @@

-

+

<protected> updateButtons(event)

@@ -6427,7 +6535,7 @@
Parameters:
Source:
- src/input/Pointer.js line 593 + src/input/Pointer.js line 593 @@ -6470,9 +6578,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -6489,9 +6597,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -6503,7 +6611,7 @@
Parameters:
- +
@@ -6518,7 +6626,7 @@
Parameters:
- + diff --git a/docs/Phaser.PointerMode.html b/docs/Phaser.PointerMode.html index f4f3385db..b734fe771 100644 --- a/docs/Phaser.PointerMode.html +++ b/docs/Phaser.PointerMode.html @@ -6,7 +6,7 @@ Phaser CE Class: PointerMode - + @@ -125,7 +125,7 @@

-

+

new PointerMode()

@@ -184,7 +184,7 @@

Source:
- src/input/Pointer.js line 1282 + src/input/Pointer.js line 1282 @@ -228,9 +228,11 @@

Members

-
-

<static, constant> CONTACT

- +
+

+ <static, constant> CONTACT + +

@@ -276,7 +278,7 @@

<static, constant> CONT
Source:
- src/input/Pointer.js line 1297 + src/input/Pointer.js line 1297 @@ -292,9 +294,11 @@

<static, constant> CONT -
-

<static, constant> CURSOR

- +
+

+ <static, constant> CURSOR + +

@@ -342,7 +346,7 @@

<static, constant> CURSO
Source:
- src/input/Pointer.js line 1291 + src/input/Pointer.js line 1291 @@ -375,9 +379,9 @@

<static, constant> CURSO

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -394,9 +398,9 @@

<static, constant> CURSO

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -408,7 +412,7 @@

<static, constant> CURSO
- +
@@ -423,7 +427,7 @@

<static, constant> CURSO - + diff --git a/docs/Phaser.Polygon.html b/docs/Phaser.Polygon.html index ba15e3fbf..87c570fd5 100644 --- a/docs/Phaser.Polygon.html +++ b/docs/Phaser.Polygon.html @@ -6,7 +6,7 @@ Phaser CE Class: Polygon - + @@ -125,7 +125,7 @@

-

+

new Polygon(points)

@@ -248,7 +248,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 24 + src/geom/Polygon.js line 24 @@ -292,9 +292,11 @@

Members

-
-

area :number

- +
+

+ area : number + +

@@ -351,7 +353,7 @@
Type:
Source:
- src/geom/Polygon.js line 29 + src/geom/Polygon.js line 29 @@ -367,9 +369,11 @@
Type:
-
-

closed :boolean

- +
+

+ closed : boolean + +

@@ -426,7 +430,7 @@
Type:
Source:
- src/geom/Polygon.js line 45 + src/geom/Polygon.js line 45 @@ -442,9 +446,11 @@
Type:
-
-

flattened :boolean

- +
+

+ flattened : boolean + +

@@ -501,7 +507,7 @@
Type:
Source:
- src/geom/Polygon.js line 50 + src/geom/Polygon.js line 50 @@ -517,9 +523,11 @@
Type:
-
-

points :Array.<Phaser.Point>

- +
+

+ points : Array.<Phaser.Point> + deprecated +

@@ -586,7 +594,7 @@
Type:
Source:
- src/geom/Polygon.js line 294 + src/geom/Polygon.js line 294 @@ -602,9 +610,11 @@
Type:
-
-

type :number

- +
+

+ type : number + +

@@ -661,7 +671,7 @@
Type:
Source:
- src/geom/Polygon.js line 55 + src/geom/Polygon.js line 55 @@ -684,7 +694,7 @@

Methods

-

+

clone( [output])

@@ -810,7 +820,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 109 + src/geom/Polygon.js line 109 @@ -863,7 +873,7 @@
Returns:
-

+

contains(x, y)

@@ -992,7 +1002,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 134 + src/geom/Polygon.js line 134 @@ -1045,7 +1055,7 @@
Returns:
-

+

flatten()

@@ -1102,7 +1112,7 @@

Source:
- src/geom/Polygon.js line 91 + src/geom/Polygon.js line 91 @@ -1155,7 +1165,7 @@
Returns:
-

+

setTo(points)

@@ -1280,7 +1290,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 186 + src/geom/Polygon.js line 186 @@ -1333,7 +1343,7 @@
Returns:
-

+

toNumberArray( [output])

@@ -1450,7 +1460,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 61 + src/geom/Polygon.js line 61 @@ -1517,9 +1527,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1536,9 +1546,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1550,7 +1560,7 @@
Returns:
- +
@@ -1565,7 +1575,7 @@
Returns:
- + diff --git a/docs/Phaser.QuadTree.html b/docs/Phaser.QuadTree.html index b44d11948..2e821eea3 100644 --- a/docs/Phaser.QuadTree.html +++ b/docs/Phaser.QuadTree.html @@ -6,7 +6,7 @@ Phaser CE Class: QuadTree - + @@ -125,7 +125,7 @@

-

+

new QuadTree(x, y, width, height [, maxObjects] [, maxLevels] [, level])

@@ -476,7 +476,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 23 + src/math/QuadTree.js line 23 @@ -520,9 +520,11 @@

Members

-
-

bounds :object

- +
+

+ bounds : object + +

@@ -579,7 +581,7 @@
Type:
Source:
- src/math/QuadTree.js line 45 + src/math/QuadTree.js line 45 @@ -595,9 +597,11 @@
Type:
-
-

level :number

- +
+

+ level : number + +

@@ -654,7 +658,7 @@
Type:
Source:
- src/math/QuadTree.js line 40 + src/math/QuadTree.js line 40 @@ -670,9 +674,11 @@
Type:
-
-

maxLevels :number

- +
+

+ maxLevels : number + +

@@ -736,7 +742,7 @@
Type:
Source:
- src/math/QuadTree.js line 35 + src/math/QuadTree.js line 35 @@ -752,9 +758,11 @@
Type:
-
-

maxObjects :number

- +
+

+ maxObjects : number + +

@@ -818,7 +826,7 @@
Type:
Source:
- src/math/QuadTree.js line 29 + src/math/QuadTree.js line 29 @@ -834,9 +842,11 @@
Type:
-
-

nodes :array

- +
+

+ nodes : array + +

@@ -893,7 +903,7 @@
Type:
Source:
- src/math/QuadTree.js line 55 + src/math/QuadTree.js line 55 @@ -909,9 +919,11 @@
Type:
-
-

objects :array

- +
+

+ objects : array + +

@@ -968,7 +980,7 @@
Type:
Source:
- src/math/QuadTree.js line 50 + src/math/QuadTree.js line 50 @@ -991,7 +1003,7 @@

Methods

-

+

clear()

@@ -1046,7 +1058,7 @@

Source:
- src/math/QuadTree.js line 295 + src/math/QuadTree.js line 295 @@ -1075,7 +1087,7 @@

-

+

getIndex(rect)

@@ -1183,7 +1195,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 203 + src/math/QuadTree.js line 203 @@ -1236,7 +1248,7 @@
Returns:
-

+

insert(body)

@@ -1344,7 +1356,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 151 + src/math/QuadTree.js line 151 @@ -1373,7 +1385,7 @@
Parameters:
-

+

populate(group)

@@ -1478,7 +1490,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 103 + src/math/QuadTree.js line 103 @@ -1507,7 +1519,7 @@
Parameters:
-

+

populateHandler(sprite)

@@ -1615,7 +1627,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 115 + src/math/QuadTree.js line 115 @@ -1644,7 +1656,7 @@
Parameters:
-

+

reset(x, y, width, height [, maxObjects] [, maxLevels] [, level])

@@ -1993,7 +2005,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 69 + src/math/QuadTree.js line 69 @@ -2022,7 +2034,7 @@
Parameters:
-

+

retrieve(source)

@@ -2130,7 +2142,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 247 + src/math/QuadTree.js line 247 @@ -2185,7 +2197,7 @@
Returns:
-

+

split()

@@ -2240,7 +2252,7 @@

Source:
- src/math/QuadTree.js line 130 + src/math/QuadTree.js line 130 @@ -2283,9 +2295,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2302,9 +2314,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2316,7 +2328,7 @@

- +
@@ -2331,7 +2343,7 @@

- + diff --git a/docs/Phaser.RandomDataGenerator.html b/docs/Phaser.RandomDataGenerator.html index 73384ff84..5e57451d9 100644 --- a/docs/Phaser.RandomDataGenerator.html +++ b/docs/Phaser.RandomDataGenerator.html @@ -6,7 +6,7 @@ Phaser CE Class: RandomDataGenerator - + @@ -125,7 +125,7 @@

-

+

new RandomDataGenerator( [seeds])

@@ -252,7 +252,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 23 + src/math/RandomDataGenerator.js line 23 @@ -299,7 +299,7 @@

Methods

-

+

angle()

@@ -354,7 +354,7 @@

Source:
- src/math/RandomDataGenerator.js line 310 + src/math/RandomDataGenerator.js line 310 @@ -407,7 +407,7 @@
Returns:
-

+

between(min, max)

@@ -537,7 +537,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 198 + src/math/RandomDataGenerator.js line 198 @@ -590,7 +590,7 @@
Returns:
-

+

frac()

@@ -645,7 +645,7 @@

Source:
- src/math/RandomDataGenerator.js line 160 + src/math/RandomDataGenerator.js line 160 @@ -698,7 +698,7 @@
Returns:
-

+

integer()

@@ -753,7 +753,7 @@

Source:
- src/math/RandomDataGenerator.js line 148 + src/math/RandomDataGenerator.js line 148 @@ -806,7 +806,7 @@
Returns:
-

+

integerInRange(min, max)

@@ -935,7 +935,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 184 + src/math/RandomDataGenerator.js line 184 @@ -988,7 +988,7 @@
Returns:
-

+

normal()

@@ -1043,7 +1043,7 @@

Source:
- src/math/RandomDataGenerator.js line 227 + src/math/RandomDataGenerator.js line 227 @@ -1096,7 +1096,7 @@
Returns:
-

+

pick(ary)

@@ -1201,7 +1201,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 258 + src/math/RandomDataGenerator.js line 258 @@ -1254,7 +1254,7 @@
Returns:
-

+

real()

@@ -1309,7 +1309,7 @@

Source:
- src/math/RandomDataGenerator.js line 172 + src/math/RandomDataGenerator.js line 172 @@ -1362,7 +1362,7 @@
Returns:
-

+

realInRange(min, max)

@@ -1491,7 +1491,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 213 + src/math/RandomDataGenerator.js line 213 @@ -1544,7 +1544,7 @@
Returns:
-

+

sign()

@@ -1599,7 +1599,7 @@

Source:
- src/math/RandomDataGenerator.js line 271 + src/math/RandomDataGenerator.js line 271 @@ -1652,7 +1652,7 @@
Returns:
-

+

sow(seeds)

@@ -1758,7 +1758,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 83 + src/math/RandomDataGenerator.js line 83 @@ -1787,7 +1787,7 @@
Parameters:
-

+

state( [state])

@@ -1911,7 +1911,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 322 + src/math/RandomDataGenerator.js line 322 @@ -1964,7 +1964,7 @@
Returns:
-

+

timestamp(min, max)

@@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 296 + src/math/RandomDataGenerator.js line 296 @@ -2146,7 +2146,7 @@
Returns:
-

+

uuid()

@@ -2201,7 +2201,7 @@

Source:
- src/math/RandomDataGenerator.js line 239 + src/math/RandomDataGenerator.js line 239 @@ -2254,7 +2254,7 @@
Returns:
-

+

weightedPick(ary)

@@ -2359,7 +2359,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 283 + src/math/RandomDataGenerator.js line 283 @@ -2426,9 +2426,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -2445,9 +2445,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -2459,7 +2459,7 @@
Returns:
- +
@@ -2474,7 +2474,7 @@
Returns:
- + diff --git a/docs/Phaser.Rectangle.html b/docs/Phaser.Rectangle.html index c54390397..186da2001 100644 --- a/docs/Phaser.Rectangle.html +++ b/docs/Phaser.Rectangle.html @@ -6,7 +6,7 @@ Phaser CE Class: Rectangle - + @@ -125,7 +125,7 @@

-

+

new Rectangle(x, y, width, height)

@@ -303,7 +303,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 18 + src/geom/Rectangle.js line 18 @@ -347,9 +347,11 @@

Members

-
-

bottom :number

- +
+

+ bottom : number + +

@@ -406,7 +408,7 @@
Type:
Source:
- src/geom/Rectangle.js line 478 + src/geom/Rectangle.js line 478 @@ -422,9 +424,11 @@
Type:
-
-

bottomLeft :Phaser.Point

- +
+

+ bottomLeft : Phaser.Point + +

@@ -481,7 +485,7 @@
Type:
Source:
- src/geom/Rectangle.js line 504 + src/geom/Rectangle.js line 504 @@ -497,9 +501,11 @@
Type:
-
-

bottomRight :Phaser.Point

- +
+

+ bottomRight : Phaser.Point + +

@@ -556,7 +562,7 @@
Type:
Source:
- src/geom/Rectangle.js line 522 + src/geom/Rectangle.js line 522 @@ -572,9 +578,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -631,7 +639,7 @@
Type:
Source:
- src/geom/Rectangle.js line 611 + src/geom/Rectangle.js line 611 @@ -647,9 +655,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -706,7 +716,7 @@
Type:
Source:
- src/geom/Rectangle.js line 628 + src/geom/Rectangle.js line 628 @@ -722,9 +732,11 @@
Type:
-
-

empty :boolean

- +
+

+ empty : boolean + +

@@ -782,7 +794,7 @@
Type:
Source:
- src/geom/Rectangle.js line 736 + src/geom/Rectangle.js line 736 @@ -798,9 +810,11 @@
Type:
-
-

<readonly> halfHeight :number

- +
+

+ <readonly> halfHeight : number + +

@@ -857,7 +871,7 @@
Type:
Source:
- src/geom/Rectangle.js line 465 + src/geom/Rectangle.js line 465 @@ -873,9 +887,11 @@
Type:
-
-

<readonly> halfWidth :number

- +
+

+ <readonly> halfWidth : number + +

@@ -932,7 +948,7 @@
Type:
Source:
- src/geom/Rectangle.js line 452 + src/geom/Rectangle.js line 452 @@ -948,9 +964,11 @@
Type:
-
-

height :number

- +
+

+ height : number + +

@@ -1007,7 +1025,7 @@
Type:
Source:
- src/geom/Rectangle.js line 43 + src/geom/Rectangle.js line 43 @@ -1023,9 +1041,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -1082,7 +1102,7 @@
Type:
Source:
- src/geom/Rectangle.js line 540 + src/geom/Rectangle.js line 540 @@ -1098,9 +1118,11 @@
Type:
-
-

<readonly> perimeter :number

- +
+

+ <readonly> perimeter : number + +

@@ -1157,7 +1179,7 @@
Type:
Source:
- src/geom/Rectangle.js line 597 + src/geom/Rectangle.js line 597 @@ -1173,9 +1195,11 @@
Type:
-
-

randomX :number

- +
+

+ randomX : number + +

@@ -1232,7 +1256,7 @@
Type:
Source:
- src/geom/Rectangle.js line 645 + src/geom/Rectangle.js line 645 @@ -1248,9 +1272,11 @@
Type:
-
-

randomY :number

- +
+

+ randomY : number + +

@@ -1307,7 +1333,7 @@
Type:
Source:
- src/geom/Rectangle.js line 661 + src/geom/Rectangle.js line 661 @@ -1323,9 +1349,11 @@
Type:
-
+
@@ -1382,7 +1410,7 @@
Type:
Source:
- src/geom/Rectangle.js line 562 + src/geom/Rectangle.js line 562 @@ -1398,9 +1426,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -1458,7 +1488,7 @@
Type:
Source:
- src/geom/Rectangle.js line 677 + src/geom/Rectangle.js line 677 @@ -1474,9 +1504,11 @@
Type:
-
-

topLeft :Phaser.Point

- +
+

+ topLeft : Phaser.Point + +

@@ -1533,7 +1565,7 @@
Type:
Source:
- src/geom/Rectangle.js line 700 + src/geom/Rectangle.js line 700 @@ -1549,9 +1581,11 @@
Type:
-
-

topRight :Phaser.Point

- +
+

+ topRight : Phaser.Point + +

@@ -1608,7 +1642,7 @@
Type:
Source:
- src/geom/Rectangle.js line 718 + src/geom/Rectangle.js line 718 @@ -1624,9 +1658,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -1683,7 +1719,7 @@
Type:
Source:
- src/geom/Rectangle.js line 49 + src/geom/Rectangle.js line 49 @@ -1699,9 +1735,11 @@
Type:
-
-

<readonly> volume :number

- +
+

+ <readonly> volume : number + +

@@ -1758,7 +1796,7 @@
Type:
Source:
- src/geom/Rectangle.js line 583 + src/geom/Rectangle.js line 583 @@ -1774,9 +1812,11 @@
Type:
-
-

width :number

- +
+

+ width : number + +

@@ -1833,7 +1873,7 @@
Type:
Source:
- src/geom/Rectangle.js line 38 + src/geom/Rectangle.js line 38 @@ -1849,9 +1889,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -1908,7 +1950,7 @@
Type:
Source:
- src/geom/Rectangle.js line 28 + src/geom/Rectangle.js line 28 @@ -1924,9 +1966,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -1983,7 +2027,7 @@
Type:
Source:
- src/geom/Rectangle.js line 33 + src/geom/Rectangle.js line 33 @@ -2006,7 +2050,7 @@

Methods

-

+

<static> clone(a [, output])

@@ -2155,7 +2199,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 815 + src/geom/Rectangle.js line 815 @@ -2204,7 +2248,7 @@
Returns:
-

+

<static> contains(a, x, y)

@@ -2357,7 +2401,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 837 + src/geom/Rectangle.js line 837 @@ -2410,7 +2454,7 @@
Returns:
-

+

<static> containsPoint(a, point)

@@ -2539,7 +2583,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 873 + src/geom/Rectangle.js line 873 @@ -2592,7 +2636,7 @@
Returns:
-

+

<static> containsRaw(rx, ry, rw, rh, x, y)

@@ -2817,7 +2861,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 856 + src/geom/Rectangle.js line 856 @@ -2870,7 +2914,7 @@
Returns:
-

+

<static> containsRect(a, b)

@@ -3000,7 +3044,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 886 + src/geom/Rectangle.js line 886 @@ -3053,7 +3097,7 @@
Returns:
-

+

<static> equals(a, b)

@@ -3183,7 +3227,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 906 + src/geom/Rectangle.js line 906 @@ -3236,7 +3280,7 @@
Returns:
-

+

<static> inflate(a, dx, dy)

@@ -3389,7 +3433,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 761 + src/geom/Rectangle.js line 761 @@ -3442,7 +3486,7 @@
Returns:
-

+

<static> inflatePoint(a, point)

@@ -3571,7 +3615,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 780 + src/geom/Rectangle.js line 780 @@ -3624,7 +3668,7 @@
Returns:
-

+

<static> intersection(a, b [, output])

@@ -3805,7 +3849,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 933 + src/geom/Rectangle.js line 933 @@ -3858,7 +3902,7 @@
Returns:
-

+

<static> intersects(a, b)

@@ -3988,7 +4032,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 960 + src/geom/Rectangle.js line 960 @@ -4041,7 +4085,7 @@
Returns:
-

+

<static> intersectsRaw(left, right, top, bottom, tolerance)

@@ -4242,7 +4286,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 979 + src/geom/Rectangle.js line 979 @@ -4295,7 +4339,7 @@
Returns:
-

+

<static> sameDimensions(a, b)

@@ -4424,7 +4468,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 920 + src/geom/Rectangle.js line 920 @@ -4477,7 +4521,7 @@
Returns:
-

+

<static> size(a [, output])

@@ -4626,7 +4670,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 793 + src/geom/Rectangle.js line 793 @@ -4679,7 +4723,7 @@
Returns:
-

+

<static> union(a, b [, output])

@@ -4860,7 +4904,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 997 + src/geom/Rectangle.js line 997 @@ -4913,7 +4957,7 @@
Returns:
-

+

aabb(points [, out])

@@ -5062,7 +5106,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1016 + src/geom/Rectangle.js line 1016 @@ -5115,7 +5159,7 @@
Returns:
-

+

ceil()

@@ -5170,7 +5214,7 @@

Source:
- src/geom/Rectangle.js line 163 + src/geom/Rectangle.js line 163 @@ -5199,7 +5243,7 @@

-

+

ceilAll()

@@ -5254,7 +5298,7 @@

Source:
- src/geom/Rectangle.js line 174 + src/geom/Rectangle.js line 174 @@ -5283,7 +5327,7 @@

-

+

centerOn(x, y)

@@ -5412,7 +5456,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 122 + src/geom/Rectangle.js line 122 @@ -5465,7 +5509,7 @@
Returns:
-

+

clone( [output])

@@ -5582,7 +5626,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 259 + src/geom/Rectangle.js line 259 @@ -5631,7 +5675,7 @@
Returns:
-

+

contains(x, y)

@@ -5760,7 +5804,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 271 + src/geom/Rectangle.js line 271 @@ -5813,7 +5857,7 @@
Returns:
-

+

containsRect(b)

@@ -5919,7 +5963,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 284 + src/geom/Rectangle.js line 284 @@ -5972,7 +6016,7 @@
Returns:
-

+

copyFrom(source)

@@ -6077,7 +6121,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 187 + src/geom/Rectangle.js line 187 @@ -6130,7 +6174,7 @@
Returns:
-

+

copyTo(source)

@@ -6235,7 +6279,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 199 + src/geom/Rectangle.js line 199 @@ -6288,7 +6332,7 @@
Returns:
-

+

equals(b)

@@ -6394,7 +6438,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 297 + src/geom/Rectangle.js line 297 @@ -6447,7 +6491,7 @@
Returns:
-

+

floor()

@@ -6502,7 +6546,7 @@

Source:
- src/geom/Rectangle.js line 139 + src/geom/Rectangle.js line 139 @@ -6531,7 +6575,7 @@

-

+

floorAll()

@@ -6586,7 +6630,7 @@

Source:
- src/geom/Rectangle.js line 150 + src/geom/Rectangle.js line 150 @@ -6615,7 +6659,7 @@

-

+

getPoint( [position] [, out])

@@ -6772,7 +6816,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 386 + src/geom/Rectangle.js line 386 @@ -6825,7 +6869,7 @@
Returns:
-

+

inflate(dx, dy)

@@ -6954,7 +6998,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 216 + src/geom/Rectangle.js line 216 @@ -7007,7 +7051,7 @@
Returns:
-

+

intersection(b, out)

@@ -7136,7 +7180,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 310 + src/geom/Rectangle.js line 310 @@ -7189,7 +7233,7 @@
Returns:
-

+

intersects(b)

@@ -7295,7 +7339,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 323 + src/geom/Rectangle.js line 323 @@ -7348,7 +7392,7 @@
Returns:
-

+

intersectsRaw(left, right, top, bottom, tolerance)

@@ -7549,7 +7593,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 337 + src/geom/Rectangle.js line 337 @@ -7602,7 +7646,7 @@
Returns:
-

+

offset(dx, dy)

@@ -7731,7 +7775,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 55 + src/geom/Rectangle.js line 55 @@ -7784,7 +7828,7 @@
Returns:
-

+

offsetPoint(point)

@@ -7889,7 +7933,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 71 + src/geom/Rectangle.js line 71 @@ -7942,7 +7986,7 @@
Returns:
-

+

random( [out])

@@ -8063,7 +8107,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 367 + src/geom/Rectangle.js line 367 @@ -8116,7 +8160,7 @@
Returns:
-

+

resize(width, height)

@@ -8246,7 +8290,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 241 + src/geom/Rectangle.js line 241 @@ -8299,7 +8343,7 @@
Returns:
-

+

scale(x [, y])

@@ -8448,7 +8492,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 103 + src/geom/Rectangle.js line 103 @@ -8501,7 +8545,7 @@
Returns:
-

+

setTo(x, y, width, height)

@@ -8678,7 +8722,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 83 + src/geom/Rectangle.js line 83 @@ -8731,7 +8775,7 @@
Returns:
-

+

size( [output])

@@ -8848,7 +8892,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 229 + src/geom/Rectangle.js line 229 @@ -8901,7 +8945,7 @@
Returns:
-

+

toString()

@@ -8956,7 +9000,7 @@

Source:
- src/geom/Rectangle.js line 439 + src/geom/Rectangle.js line 439 @@ -9009,7 +9053,7 @@
Returns:
-

+

union(b [, out])

@@ -9158,7 +9202,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 354 + src/geom/Rectangle.js line 354 @@ -9225,9 +9269,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -9244,9 +9288,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -9258,7 +9302,7 @@
Returns:
- +
@@ -9273,7 +9317,7 @@
Returns:
- + diff --git a/docs/Phaser.RenderTexture.html b/docs/Phaser.RenderTexture.html index 15309c6a7..c6f08b4ba 100644 --- a/docs/Phaser.RenderTexture.html +++ b/docs/Phaser.RenderTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: RenderTexture - + @@ -125,7 +125,7 @@

-

+

new RenderTexture(game [, width] [, height] [, key] [, scaleMode] [, resolution])

@@ -447,7 +447,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 21 + src/gameobjects/RenderTexture.js line 21 @@ -502,9 +502,11 @@

Members

-
-

baseTexture :BaseTexture

- +
+

+ baseTexture : BaseTexture + +

@@ -566,7 +568,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 66 + src/gameobjects/RenderTexture.js line 66 @@ -582,9 +584,11 @@
Type:
-
-

crop :Rectangle

- +
+

+ crop : Rectangle + +

@@ -656,7 +660,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -672,9 +676,11 @@
Type:
-
-

frame :Rectangle

- +
+

+ frame : Rectangle + +

@@ -745,7 +751,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -761,9 +767,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -820,7 +828,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 34 + src/gameobjects/RenderTexture.js line 34 @@ -836,9 +844,11 @@
Type:
-
-

height :Number

- +
+

+ height : Number + +

@@ -909,7 +919,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -925,9 +935,11 @@
Type:
-
-

isTiling :Boolean

- +
+

+ isTiling : Boolean + +

@@ -993,7 +1005,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -1009,9 +1021,11 @@
Type:
-
-

key :string

- +
+

+ key : string + +

@@ -1068,7 +1082,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 39 + src/gameobjects/RenderTexture.js line 39 @@ -1084,9 +1098,11 @@
Type:
-
-

noFrame :Boolean

- +
+

+ noFrame : Boolean + +

@@ -1152,7 +1168,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -1168,9 +1184,11 @@
Type:
-
-

renderer :CanvasRenderer|WebGLRenderer

- +
+

+ renderer : CanvasRenderer | WebGLRenderer + +

@@ -1230,7 +1248,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 84 + src/gameobjects/RenderTexture.js line 84 @@ -1246,9 +1264,11 @@
Type:
-
-

requiresReTint :Boolean

- +
+

+ requiresReTint : Boolean + +

@@ -1314,7 +1334,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -1330,9 +1350,11 @@
Type:
-
-

requiresUpdate :Boolean

- +
+

+ requiresUpdate : Boolean + +

@@ -1398,7 +1420,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -1414,9 +1436,11 @@
Type:
-
-

rotated :Boolean

- +
+

+ rotated : Boolean + +

@@ -1484,7 +1508,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -1500,9 +1524,11 @@
Type:
-
-

trim :Rectangle

- +
+

+ trim : Rectangle + +

@@ -1568,7 +1594,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -1584,9 +1610,11 @@
Type:
-
-

type :number

- +
+

+ type : number + +

@@ -1643,7 +1671,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 44 + src/gameobjects/RenderTexture.js line 44 @@ -1659,9 +1687,11 @@
Type:
-
-

valid :Boolean

- +
+

+ valid : Boolean + +

@@ -1719,7 +1749,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 107 + src/gameobjects/RenderTexture.js line 107 @@ -1735,9 +1765,11 @@
Type:
-
-

width :Number

- +
+

+ width : Number + +

@@ -1808,7 +1840,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -1831,7 +1863,7 @@

Methods

-

+

clear()

@@ -1886,7 +1918,7 @@

Source:
- src/gameobjects/RenderTexture.js line 258 + src/gameobjects/RenderTexture.js line 258 @@ -1915,7 +1947,7 @@

-

+

destroy(destroyBase)

@@ -2029,7 +2061,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -2058,7 +2090,7 @@
Parameters:
-

+

fromCanvas(canvas, scaleMode)

@@ -2196,7 +2228,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -2245,7 +2277,7 @@
Returns:
-

+

getBase64()

@@ -2300,7 +2332,7 @@

Source:
- src/gameobjects/RenderTexture.js line 399 + src/gameobjects/RenderTexture.js line 399 @@ -2353,7 +2385,7 @@
Returns:
-

+

getCanvas()

@@ -2408,7 +2440,7 @@

Source:
- src/gameobjects/RenderTexture.js line 411 + src/gameobjects/RenderTexture.js line 411 @@ -2461,7 +2493,7 @@
Returns:
-

+

getImage()

@@ -2516,7 +2548,7 @@

Source:
- src/gameobjects/RenderTexture.js line 384 + src/gameobjects/RenderTexture.js line 384 @@ -2565,7 +2597,7 @@
Returns:
-

+

render(displayObject [, matrix] [, clear])

@@ -2781,7 +2813,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 178 + src/gameobjects/RenderTexture.js line 178 @@ -2810,7 +2842,7 @@
Parameters:
-

+

renderRawXY(displayObject, x, y [, clear])

@@ -3057,7 +3089,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 150 + src/gameobjects/RenderTexture.js line 150 @@ -3086,7 +3118,7 @@
Parameters:
-

+

renderXY(displayObject, x, y [, clear])

@@ -3333,7 +3365,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 118 + src/gameobjects/RenderTexture.js line 118 @@ -3362,7 +3394,7 @@
Parameters:
-

+

resize(width, height, updateBase)

@@ -3515,7 +3547,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 215 + src/gameobjects/RenderTexture.js line 215 @@ -3544,7 +3576,7 @@
Parameters:
-

+

setFrame(frame)

@@ -3658,7 +3690,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -3701,9 +3733,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -3720,9 +3752,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -3734,7 +3766,7 @@
Parameters:
- +
@@ -3749,7 +3781,7 @@
Parameters:
- + diff --git a/docs/Phaser.RequestAnimationFrame.html b/docs/Phaser.RequestAnimationFrame.html index 31d52ce1d..a1c1c93bb 100644 --- a/docs/Phaser.RequestAnimationFrame.html +++ b/docs/Phaser.RequestAnimationFrame.html @@ -6,7 +6,7 @@ Phaser CE Class: RequestAnimationFrame - + @@ -125,7 +125,7 @@

-

+

new RequestAnimationFrame(game [, forceSetTimeOut])

@@ -286,7 +286,7 @@
Parameters:
Source:
- src/utils/RequestAnimationFrame.js line 15 + src/utils/RequestAnimationFrame.js line 15 @@ -330,9 +330,11 @@

Members

-
-

forceSetTimeOut :boolean

- +
+

+ forceSetTimeOut : boolean + +

@@ -389,7 +391,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 33 + src/utils/RequestAnimationFrame.js line 33 @@ -405,9 +407,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -464,7 +468,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 22 + src/utils/RequestAnimationFrame.js line 22 @@ -480,9 +484,11 @@
Type:
-
-

isRunning :boolean

- +
+

+ isRunning : boolean + +

@@ -539,7 +545,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 28 + src/utils/RequestAnimationFrame.js line 28 @@ -562,7 +568,7 @@

Methods

-

+

isRAF()

@@ -617,7 +623,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 162 + src/utils/RequestAnimationFrame.js line 162 @@ -666,7 +672,7 @@
Returns:
-

+

isSetTimeOut()

@@ -721,7 +727,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 153 + src/utils/RequestAnimationFrame.js line 153 @@ -770,7 +776,7 @@
Returns:
-

+

start()

@@ -825,7 +831,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 70 + src/utils/RequestAnimationFrame.js line 70 @@ -854,7 +860,7 @@

-

+

stop()

@@ -909,7 +915,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 134 + src/utils/RequestAnimationFrame.js line 134 @@ -938,7 +944,7 @@

-

+

updateRAF()

@@ -993,7 +999,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 103 + src/utils/RequestAnimationFrame.js line 103 @@ -1022,7 +1028,7 @@

-

+

updateSetTimeout()

@@ -1077,7 +1083,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 119 + src/utils/RequestAnimationFrame.js line 119 @@ -1120,9 +1126,9 @@

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1139,9 +1145,9 @@

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1153,7 +1159,7 @@

- +
@@ -1168,7 +1174,7 @@

- + diff --git a/docs/Phaser.RetroFont.html b/docs/Phaser.RetroFont.html index 0739f19d0..0d6b95c4b 100644 --- a/docs/Phaser.RetroFont.html +++ b/docs/Phaser.RetroFont.html @@ -6,7 +6,7 @@ Phaser CE Class: RetroFont - + @@ -125,7 +125,7 @@

-

+

new RetroFont(game, key, characterWidth, characterHeight, chars [, charsPerRow] [, xSpacing] [, ySpacing] [, xOffset] [, yOffset])

@@ -589,7 +589,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 25 + src/gameobjects/RetroFont.js line 25 @@ -644,9 +644,11 @@

Members

-
-

<static, constant> ALIGN_CENTER :string

- +
+

+ <static, constant> ALIGN_CENTER : string + +

@@ -703,7 +705,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 196 + src/gameobjects/RetroFont.js line 196 @@ -719,9 +721,11 @@
Type:
-
-

<static, constant> ALIGN_LEFT :string

- +
+

+ <static, constant> ALIGN_LEFT : string + +

@@ -778,7 +782,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 182 + src/gameobjects/RetroFont.js line 182 @@ -794,9 +798,11 @@
Type:
-
-

<static, constant> ALIGN_RIGHT :string

- +
+

+ <static, constant> ALIGN_RIGHT : string + +

@@ -853,7 +859,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 189 + src/gameobjects/RetroFont.js line 189 @@ -869,9 +875,11 @@
Type:
-
-

<static, constant> TEXT_SET1 :string

- +
+

+ <static, constant> TEXT_SET1 : string + +

@@ -928,7 +936,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 203 + src/gameobjects/RetroFont.js line 203 @@ -944,9 +952,11 @@
Type:
-
-

<static, constant> TEXT_SET2 :string

- +
+

+ <static, constant> TEXT_SET2 : string + +

@@ -1003,7 +1013,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 210 + src/gameobjects/RetroFont.js line 210 @@ -1019,9 +1029,11 @@
Type:
-
-

<static, constant> TEXT_SET3 :string

- +
+

+ <static, constant> TEXT_SET3 : string + +

@@ -1078,7 +1090,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 217 + src/gameobjects/RetroFont.js line 217 @@ -1094,9 +1106,11 @@
Type:
-
-

<static, constant> TEXT_SET4 :string

- +
+

+ <static, constant> TEXT_SET4 : string + +

@@ -1153,7 +1167,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 224 + src/gameobjects/RetroFont.js line 224 @@ -1169,9 +1183,11 @@
Type:
-
-

<static, constant> TEXT_SET5 :string

- +
+

+ <static, constant> TEXT_SET5 : string + +

@@ -1228,7 +1244,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 231 + src/gameobjects/RetroFont.js line 231 @@ -1244,9 +1260,11 @@
Type:
-
-

<static, constant> TEXT_SET6 :string

- +
+

+ <static, constant> TEXT_SET6 : string + +

@@ -1303,7 +1321,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 238 + src/gameobjects/RetroFont.js line 238 @@ -1319,9 +1337,11 @@
Type:
-
-

<static, constant> TEXT_SET7 :string

- +
+

+ <static, constant> TEXT_SET7 : string + +

@@ -1378,7 +1398,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 245 + src/gameobjects/RetroFont.js line 245 @@ -1394,9 +1414,11 @@
Type:
-
-

<static, constant> TEXT_SET8 :string

- +
+

+ <static, constant> TEXT_SET8 : string + +

@@ -1453,7 +1475,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 252 + src/gameobjects/RetroFont.js line 252 @@ -1469,9 +1491,11 @@
Type:
-
-

<static, constant> TEXT_SET9 :string

- +
+

+ <static, constant> TEXT_SET9 : string + +

@@ -1528,7 +1552,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 259 + src/gameobjects/RetroFont.js line 259 @@ -1544,9 +1568,11 @@
Type:
-
-

<static, constant> TEXT_SET10 :string

- +
+

+ <static, constant> TEXT_SET10 : string + +

@@ -1603,7 +1629,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 266 + src/gameobjects/RetroFont.js line 266 @@ -1619,9 +1645,11 @@
Type:
-
-

<static, constant> TEXT_SET11 :string

- +
+

+ <static, constant> TEXT_SET11 : string + +

@@ -1678,7 +1706,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 273 + src/gameobjects/RetroFont.js line 273 @@ -1694,9 +1722,11 @@
Type:
-
-

align :string

- +
+

+ align : string + +

@@ -1753,7 +1783,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 77 + src/gameobjects/RetroFont.js line 77 @@ -1769,9 +1799,11 @@
Type:
-
-

autoUpperCase :boolean

- +
+

+ autoUpperCase : boolean + +

@@ -1835,7 +1867,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 89 + src/gameobjects/RetroFont.js line 89 @@ -1851,9 +1883,11 @@
Type:
-
-

baseTexture :BaseTexture

- +
+

+ baseTexture : BaseTexture + +

@@ -1919,7 +1953,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 66 + src/gameobjects/RenderTexture.js line 66 @@ -1935,9 +1969,11 @@
Type:
-
-

characterHeight :number

- +
+

+ characterHeight : number + +

@@ -1994,7 +2030,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 45 + src/gameobjects/RetroFont.js line 45 @@ -2010,9 +2046,11 @@
Type:
-
-

characterPerRow :number

- +
+

+ characterPerRow : number + +

@@ -2069,7 +2107,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 60 + src/gameobjects/RetroFont.js line 60 @@ -2085,9 +2123,11 @@
Type:
-
-

characterSpacingX :number

- +
+

+ characterSpacingX : number + +

@@ -2144,7 +2184,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 50 + src/gameobjects/RetroFont.js line 50 @@ -2160,9 +2200,11 @@
Type:
-
-

characterSpacingY :number

- +
+

+ characterSpacingY : number + +

@@ -2219,7 +2261,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 55 + src/gameobjects/RetroFont.js line 55 @@ -2235,9 +2277,11 @@
Type:
-
-

characterWidth :number

- +
+

+ characterWidth : number + +

@@ -2294,7 +2338,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 40 + src/gameobjects/RetroFont.js line 40 @@ -2310,9 +2354,11 @@
Type:
-
-

crop :Rectangle

- +
+

+ crop : Rectangle + +

@@ -2379,7 +2425,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -2395,9 +2441,11 @@
Type:
-
-

customSpacingX :number

- +
+

+ customSpacingX : number + +

@@ -2454,7 +2502,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 95 + src/gameobjects/RetroFont.js line 95 @@ -2470,9 +2518,11 @@
Type:
-
-

customSpacingY :number

- +
+

+ customSpacingY : number + +

@@ -2529,7 +2579,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 101 + src/gameobjects/RetroFont.js line 101 @@ -2545,9 +2595,11 @@
Type:
-
-

fixedWidth :number

- +
+

+ fixedWidth : number + +

@@ -2605,7 +2657,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 108 + src/gameobjects/RetroFont.js line 108 @@ -2621,9 +2673,11 @@
Type:
-
-

fontSet :Image

- +
+

+ fontSet : Image + +

@@ -2680,7 +2734,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 113 + src/gameobjects/RetroFont.js line 113 @@ -2696,9 +2750,11 @@
Type:
-
-

frame :Rectangle

- +
+

+ frame : Rectangle + +

@@ -2764,7 +2820,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -2780,9 +2836,11 @@
Type:
-
-

frameData :Phaser.FrameData

- +
+

+ frameData : Phaser.FrameData + +

@@ -2839,7 +2897,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 130 + src/gameobjects/RetroFont.js line 130 @@ -2855,9 +2913,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -2923,7 +2983,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 34 + src/gameobjects/RenderTexture.js line 34 @@ -2939,9 +2999,11 @@
Type:
-
-

height :Number

- +
+

+ height : Number + +

@@ -3007,7 +3069,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -3023,9 +3085,11 @@
Type:
-
-

isTiling :Boolean

- +
+

+ isTiling : Boolean + +

@@ -3091,7 +3155,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -3107,9 +3171,11 @@
Type:
-
-

key :string

- +
+

+ key : string + +

@@ -3175,7 +3241,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 39 + src/gameobjects/RenderTexture.js line 39 @@ -3191,9 +3257,11 @@
Type:
-
-

multiLine :boolean

- +
+

+ multiLine : boolean + +

@@ -3250,7 +3318,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 83 + src/gameobjects/RetroFont.js line 83 @@ -3266,9 +3334,11 @@
Type:
-
-

noFrame :Boolean

- +
+

+ noFrame : Boolean + +

@@ -3334,7 +3404,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -3350,9 +3420,11 @@
Type:
-
-

<readonly> offsetX :number

- +
+

+ <readonly> offsetX : number + +

@@ -3409,7 +3481,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 66 + src/gameobjects/RetroFont.js line 66 @@ -3425,9 +3497,11 @@
Type:
-
-

<readonly> offsetY :number

- +
+

+ <readonly> offsetY : number + +

@@ -3484,7 +3558,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 72 + src/gameobjects/RetroFont.js line 72 @@ -3500,9 +3574,11 @@
Type:
-
-

renderer :CanvasRenderer|WebGLRenderer

- +
+

+ renderer : CanvasRenderer | WebGLRenderer + +

@@ -3571,7 +3647,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 84 + src/gameobjects/RenderTexture.js line 84 @@ -3587,9 +3663,11 @@
Type:
-
-

requiresReTint :Boolean

- +
+

+ requiresReTint : Boolean + +

@@ -3660,7 +3738,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -3676,9 +3754,11 @@
Type:
-
-

requiresUpdate :Boolean

- +
+

+ requiresUpdate : Boolean + +

@@ -3744,7 +3824,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -3760,9 +3840,11 @@
Type:
-
-

rotated :Boolean

- +
+

+ rotated : Boolean + +

@@ -3830,7 +3912,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -3846,9 +3928,11 @@
Type:
-
-

smoothed :boolean

- +
+

+ smoothed : boolean + +

@@ -3905,7 +3989,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 585 + src/gameobjects/RetroFont.js line 585 @@ -3921,9 +4005,11 @@
Type:
-
-

<readonly> stamp :Phaser.Image

- +
+

+ <readonly> stamp : Phaser.Image + +

@@ -3980,7 +4066,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 163 + src/gameobjects/RetroFont.js line 163 @@ -3996,9 +4082,11 @@
Type:
-
-

text :string

- +
+

+ text : string + +

@@ -4055,7 +4143,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 547 + src/gameobjects/RetroFont.js line 547 @@ -4071,9 +4159,11 @@
Type:
-
-

trim :Rectangle

- +
+

+ trim : Rectangle + +

@@ -4139,7 +4229,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -4155,9 +4245,11 @@
Type:
-
-

type :number

- +
+

+ type : number + +

@@ -4219,7 +4311,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 170 + src/gameobjects/RetroFont.js line 170 @@ -4235,9 +4327,11 @@
Type:
-
-

valid :Boolean

- +
+

+ valid : Boolean + +

@@ -4299,7 +4393,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 107 + src/gameobjects/RenderTexture.js line 107 @@ -4315,9 +4409,11 @@
Type:
-
-

width :Number

- +
+

+ width : Number + +

@@ -4383,7 +4479,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -4406,7 +4502,7 @@

Methods

-

+

buildRetroFontText()

@@ -4461,7 +4557,7 @@

Source:
- src/gameobjects/RetroFont.js line 328 + src/gameobjects/RetroFont.js line 328 @@ -4490,7 +4586,7 @@

-

+

clear()

@@ -4554,7 +4650,7 @@

Source:
- src/gameobjects/RenderTexture.js line 258 + src/gameobjects/RenderTexture.js line 258 @@ -4583,7 +4679,7 @@

-

+

destroy(destroyBase)

@@ -4697,7 +4793,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -4726,7 +4822,7 @@
Parameters:
-

+

fromCanvas(canvas, scaleMode)

@@ -4864,7 +4960,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -4913,7 +5009,7 @@
Returns:
-

+

getBase64()

@@ -4977,7 +5073,7 @@

Source:
- src/gameobjects/RenderTexture.js line 399 + src/gameobjects/RenderTexture.js line 399 @@ -5030,7 +5126,7 @@
Returns:
-

+

getCanvas()

@@ -5094,7 +5190,7 @@

Source:
- src/gameobjects/RenderTexture.js line 411 + src/gameobjects/RenderTexture.js line 411 @@ -5147,7 +5243,7 @@
Returns:
-

+

getImage()

@@ -5211,7 +5307,7 @@

Source:
- src/gameobjects/RenderTexture.js line 384 + src/gameobjects/RenderTexture.js line 384 @@ -5260,7 +5356,7 @@
Returns:
-

+

getLongestLine()

@@ -5315,7 +5411,7 @@

Source:
- src/gameobjects/RetroFont.js line 459 + src/gameobjects/RetroFont.js line 459 @@ -5368,7 +5464,7 @@
Returns:
-

+

pasteLine(line, x, y, customSpacingX)

@@ -5546,7 +5642,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 420 + src/gameobjects/RetroFont.js line 420 @@ -5575,7 +5671,7 @@
Parameters:
-

+

<protected> removeUnsupportedCharacters( [stripCR])

@@ -5700,7 +5796,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 486 + src/gameobjects/RetroFont.js line 486 @@ -5753,7 +5849,7 @@
Returns:
-

+

render(displayObject [, matrix] [, clear])

@@ -5978,7 +6074,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 178 + src/gameobjects/RenderTexture.js line 178 @@ -6007,7 +6103,7 @@
Parameters:
-

+

renderRawXY(displayObject, x, y [, clear])

@@ -6263,7 +6359,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 150 + src/gameobjects/RenderTexture.js line 150 @@ -6292,7 +6388,7 @@
Parameters:
-

+

renderXY(displayObject, x, y [, clear])

@@ -6548,7 +6644,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 118 + src/gameobjects/RenderTexture.js line 118 @@ -6577,7 +6673,7 @@
Parameters:
-

+

resize(width, height, updateBase)

@@ -6739,7 +6835,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 215 + src/gameobjects/RenderTexture.js line 215 @@ -6768,7 +6864,7 @@
Parameters:
-

+

setFixedWidth(width [, lineAlignment])

@@ -6930,7 +7026,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 275 + src/gameobjects/RetroFont.js line 275 @@ -6959,7 +7055,7 @@
Parameters:
-

+

setFrame(frame)

@@ -7073,7 +7169,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -7102,7 +7198,7 @@
Parameters:
-

+

setText(content [, multiLine] [, characterSpacing] [, lineSpacing] [, lineAlignment] [, allowLowerCase])

@@ -7423,7 +7519,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 293 + src/gameobjects/RetroFont.js line 293 @@ -7452,7 +7548,7 @@
Parameters:
-

+

updateOffset( [xOffset] [, yOffset])

@@ -7619,7 +7715,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 514 + src/gameobjects/RetroFont.js line 514 @@ -7662,9 +7758,9 @@
Parameters:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -7681,9 +7777,9 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -7695,7 +7791,7 @@
Parameters:
- +
@@ -7710,7 +7806,7 @@
Parameters:
- + diff --git a/docs/Phaser.Rope.html b/docs/Phaser.Rope.html index d3327947f..c75f78e44 100644 --- a/docs/Phaser.Rope.html +++ b/docs/Phaser.Rope.html @@ -6,7 +6,7 @@ Phaser CE Class: Rope - + @@ -125,7 +125,7 @@

-

+

new Rope(game, x, y, key, frame, points)

@@ -364,7 +364,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 44 + src/gameobjects/Rope.js line 44 @@ -455,9 +455,11 @@

Members

-
-

alive :boolean

- +
+

+ alive : boolean + +

@@ -534,7 +536,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -550,9 +552,11 @@
Type:
-
-

alpha :number

- +
+

+ alpha : number + +

@@ -628,7 +632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -644,9 +648,11 @@
Type:
-
-

angle :number

- +
+

+ angle : number + +

@@ -717,7 +723,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -733,9 +739,11 @@
Type:
-
-

animations :Phaser.AnimationManager

- +
+

+ animations : Phaser.AnimationManager + +

@@ -802,7 +810,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -825,9 +833,11 @@
Type:
-
-

autoCull :boolean

- +
+

+ autoCull : boolean + +

@@ -897,7 +907,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -913,9 +923,11 @@
Type:
-
-

body :Phaser.Physics.Arcade.Body|Phaser.Physics.P2.Body|Phaser.Physics.Ninja.Body|null

- +
+

+ body : Phaser.Physics.Arcade.Body | Phaser.Physics.P2.Body | Phaser.Physics.Ninja.Body | null + +

@@ -998,7 +1010,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1014,9 +1026,11 @@
Type:
-
-

bottom :number

- +
+

+ bottom : number + +

@@ -1083,7 +1097,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1099,9 +1113,11 @@
Type:
-
-

cacheAsBitmap :boolean

- +
+

+ cacheAsBitmap : boolean + +

@@ -1174,7 +1190,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1190,9 +1206,11 @@
Type:
-
-

cameraOffset :Phaser.Point

- +
+

+ cameraOffset : Phaser.Point + +

@@ -1259,7 +1277,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1275,9 +1293,11 @@
Type:
-
-

canvasPadding :Number

- +
+

+ canvasPadding : Number + +

@@ -1334,7 +1354,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 104 + src/gameobjects/Rope.js line 104 @@ -1350,9 +1370,11 @@
Type:
-
-

centerX :number

- +
+

+ centerX : number + +

@@ -1419,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1435,9 +1457,11 @@
Type:
-
-

centerY :number

- +
+

+ centerY : number + +

@@ -1504,7 +1528,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1520,9 +1544,11 @@
Type:
-
-

checkWorldBounds :boolean

- +
+

+ checkWorldBounds : boolean + +

@@ -1594,7 +1620,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1610,9 +1636,11 @@
Type:
-
-

<readonly> children :Array(DisplayObject)

- +
+

+ <readonly> children : Array(DisplayObject) + +

@@ -1678,7 +1706,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1694,9 +1722,11 @@
Type:
-
-

<protected> components :object

- +
+

+ <protected> components : object + +

@@ -1762,7 +1792,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1778,9 +1808,11 @@
Type:
-
-

cropRect :Phaser.Rectangle

- +
+

+ cropRect : Phaser.Rectangle + +

@@ -1848,7 +1880,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1864,9 +1896,11 @@
Type:
-
-

data :Object

- +
+

+ data : Object + +

@@ -1942,7 +1976,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -1958,9 +1992,11 @@
Type:
-
-

debug :boolean

- +
+

+ debug : boolean + +

@@ -2026,7 +2062,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2042,9 +2078,11 @@
Type:
-
-

<readonly> deltaX :number

- +
+

+ <readonly> deltaX : number + +

@@ -2111,7 +2149,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2127,9 +2165,11 @@
Type:
-
-

<readonly> deltaY :number

- +
+

+ <readonly> deltaY : number + +

@@ -2196,7 +2236,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2212,9 +2252,11 @@
Type:
-
-

<readonly> deltaZ :number

- +
+

+ <readonly> deltaZ : number + +

@@ -2280,7 +2322,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2296,9 +2338,11 @@
Type:
-
-

<readonly> destroyPhase :boolean

- +
+

+ <readonly> destroyPhase : boolean + +

@@ -2365,7 +2409,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2381,9 +2425,11 @@
Type:
-
-

dirty :Boolean

- +
+

+ dirty : Boolean + +

@@ -2440,7 +2486,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 96 + src/gameobjects/Rope.js line 96 @@ -2456,9 +2502,11 @@
Type:
-
-

events :Phaser.Events

- +
+

+ events : Phaser.Events + +

@@ -2525,7 +2573,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2548,9 +2596,11 @@
Type:
-
-

exists :boolean

- +
+

+ exists : boolean + +

@@ -2621,7 +2671,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2637,9 +2687,11 @@
Type:
-
-

filterArea :Rectangle

- +
+

+ filterArea : Rectangle + +

@@ -2705,7 +2757,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2721,9 +2773,11 @@
Type:
-
-

filters :Array

- +
+

+ filters : Array + +

@@ -2794,7 +2848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2810,9 +2864,11 @@
Type:
-
-

fixedToCamera :boolean

- +
+

+ fixedToCamera : boolean + +

@@ -2885,7 +2941,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2901,9 +2957,11 @@
Type:
-
-

frame :integer

- +
+

+ frame : integer + +

@@ -2974,7 +3032,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -2990,9 +3048,11 @@
Type:
-
-

frameName :string

- +
+

+ frameName : string + +

@@ -3063,7 +3123,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3079,9 +3139,11 @@
Type:
-
-

<readonly> fresh :boolean

- +
+

+ <readonly> fresh : boolean + +

@@ -3148,7 +3210,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3164,9 +3226,11 @@
Type:
-
-

game :Phaser.Game

- +
+

+ game : Phaser.Game + +

@@ -3232,7 +3296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3248,9 +3312,11 @@
Type:
-
-

hitArea :Rectangle|Circle|Ellipse|Polygon

- +
+

+ hitArea : Rectangle | Circle | Ellipse | Polygon + +

@@ -3326,7 +3392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3342,9 +3408,11 @@
Type:
-
-

ignoreChildInput :boolean

- +
+

+ ignoreChildInput : boolean + +

@@ -3412,7 +3480,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3428,9 +3496,11 @@
Type:
-
-

<readonly> inCamera :boolean

- +
+

+ <readonly> inCamera : boolean + +

@@ -3497,7 +3567,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3513,9 +3583,11 @@
Type:
-
-

<readonly> inWorld :boolean

- +
+

+ <readonly> inWorld : boolean + +

@@ -3581,7 +3653,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -3597,9 +3669,11 @@
Type:
-
-

key :string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture

- +
+

+ key : string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture + +

@@ -3681,7 +3755,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3697,9 +3771,11 @@
Type:
-
-

left :number

- +
+

+ left : number + +

@@ -3766,7 +3842,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3782,9 +3858,11 @@
Type:
-
-

lifespan :number

- +
+

+ lifespan : number + +

@@ -3854,7 +3932,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -3870,9 +3948,11 @@
Type:
-
-

mask :Phaser.Graphics

- +
+

+ mask : Phaser.Graphics + +

@@ -3941,7 +4021,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3957,9 +4037,11 @@
Type:
-
-

name :string

- +
+

+ name : string + +

@@ -4026,7 +4108,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4042,9 +4124,11 @@
Type:
-
-

<readonly> offsetX :number

- +
+

+ <readonly> offsetX : number + +

@@ -4112,7 +4196,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4128,9 +4212,11 @@
Type:
-
-

<readonly> offsetY :number

- +
+

+ <readonly> offsetY : number + +

@@ -4198,7 +4284,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4214,9 +4300,11 @@
Type:
-
-

outOfBoundsKill :boolean

- +
+

+ outOfBoundsKill : boolean + +

@@ -4282,7 +4370,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4298,9 +4386,11 @@
Type:
-
-

outOfCameraBoundsKill :boolean

- +
+

+ outOfCameraBoundsKill : boolean + +

@@ -4367,7 +4457,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4383,9 +4473,11 @@
Type:
-
-

<readonly> parent :PIXI.DisplayObjectContainer

- +
+

+ <readonly> parent : PIXI.DisplayObjectContainer + +

@@ -4454,7 +4546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4470,9 +4562,11 @@
Type:
-
-

pendingDestroy :boolean

- +
+

+ pendingDestroy : boolean + +

@@ -4541,7 +4635,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4557,9 +4651,11 @@
Type:
-
-

pivot :PIXI.Point

- +
+

+ pivot : PIXI.Point + +

@@ -4626,7 +4722,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4642,9 +4738,11 @@
Type:
-
-

position :PIXI.Point

- +
+

+ position : PIXI.Point + +

@@ -4712,7 +4810,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4728,9 +4826,11 @@
Type:
-
-

<readonly> previousPosition :Phaser.Point

- +
+

+ <readonly> previousPosition : Phaser.Point + +

@@ -4796,7 +4896,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4812,9 +4912,11 @@
Type:
-
-

<readonly> previousRotation :number

- +
+

+ <readonly> previousRotation : number + +

@@ -4880,7 +4982,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -4896,9 +4998,11 @@
Type:
-
-

renderable :boolean

- +
+

+ renderable : boolean + +

@@ -4965,7 +5069,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4981,9 +5085,11 @@
Type:
-
-

<readonly> renderOrderID :number

- +
+

+ <readonly> renderOrderID : number + +

@@ -5050,7 +5156,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5066,9 +5172,11 @@
Type:
-
+
@@ -5135,7 +5243,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5151,9 +5259,11 @@
Type:
-
-

rotation :number

- +
+

+ rotation : number + +

@@ -5222,7 +5332,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5238,9 +5348,11 @@
Type:
-
-

scale :PIXI.Point

- +
+

+ scale : PIXI.Point + +

@@ -5309,7 +5421,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5325,9 +5437,11 @@
Type:
-
-

scaleMax :Phaser.Point

- +
+

+ scaleMax : Phaser.Point + +

@@ -5395,7 +5509,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5411,9 +5525,11 @@
Type:
-
-

scaleMin :Phaser.Point

- +
+

+ scaleMin : Phaser.Point + +

@@ -5481,7 +5597,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5497,9 +5613,11 @@
Type:
-
-

segments

- +
+

+ segments + +

@@ -5598,7 +5716,7 @@
Properties:
Source:
- src/gameobjects/Rope.js line 806 + src/gameobjects/Rope.js line 806 @@ -5614,9 +5732,11 @@
Properties:
-
-

smoothed :boolean

- +
+

+ smoothed : boolean + +

@@ -5684,7 +5804,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5700,9 +5820,11 @@
Type:
-
-

top :number

- +
+

+ top : number + +

@@ -5769,7 +5891,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5785,9 +5907,11 @@
Type:
-
-

transformCallback :function

- +
+

+ transformCallback : function + +

@@ -5853,7 +5977,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -5869,9 +5993,11 @@
Type:
-
-

transformCallbackContext :object

- +
+

+ transformCallbackContext : object + +

@@ -5937,7 +6063,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -5953,9 +6079,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -6012,7 +6140,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 59 + src/gameobjects/Rope.js line 59 @@ -6028,9 +6156,11 @@
Type:
-
-

updateAnimation :function

- +
+

+ updateAnimation : function + +

@@ -6087,7 +6217,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 775 + src/gameobjects/Rope.js line 775 @@ -6103,9 +6233,11 @@
Type:
-
-

visible :boolean

- +
+

+ visible : boolean + +

@@ -6183,7 +6315,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -6199,9 +6331,11 @@
Type:
-
-

world :Phaser.Point

- +
+

+ world : Phaser.Point + +

@@ -6269,7 +6403,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6285,9 +6419,11 @@
Type:
-
-

<readonly> worldAlpha :number

- +
+

+ <readonly> worldAlpha : number + +

@@ -6359,7 +6495,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6375,9 +6511,11 @@
Type:
-
-

<readonly> worldPosition :PIXI.Point

- +
+

+ <readonly> worldPosition : PIXI.Point + +

@@ -6448,7 +6586,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6464,9 +6602,11 @@
Type:
-
-

<readonly> worldRotation :number

- +
+

+ <readonly> worldRotation : number + +

@@ -6537,7 +6677,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6553,9 +6693,11 @@
Type:
-
-

<readonly> worldScale :PIXI.Point

- +
+

+ <readonly> worldScale : PIXI.Point + +

@@ -6626,7 +6768,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6642,9 +6784,11 @@
Type:
-
-

<readonly> worldTransform :Phaser.Matrix

- +
+

+ <readonly> worldTransform : Phaser.Matrix + +

@@ -6715,7 +6859,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6731,9 +6875,11 @@
Type:
-
-

worldVisible :boolean

- +
+

+ worldVisible : boolean + +

@@ -6799,7 +6945,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6815,9 +6961,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -6889,7 +7037,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6905,9 +7053,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -6979,7 +7129,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6995,9 +7145,11 @@
Type:
-
-

<readonly> z :number

- +
+

+ <readonly> z : number + +

@@ -7066,7 +7218,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7089,7 +7241,7 @@

Methods

-

+

addChild(child)

@@ -7203,7 +7355,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7256,7 +7408,7 @@
Returns:
-

+

addChildAt(child, index)

@@ -7394,7 +7546,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7447,7 +7599,7 @@
Returns:
-

+

alignIn(container [, position] [, offsetX] [, offsetY])

@@ -7737,7 +7889,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -7790,7 +7942,7 @@
Returns:
-

+

alignTo(parent [, position] [, offsetX] [, offsetY])

@@ -8081,7 +8233,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8134,7 +8286,7 @@
Returns:
-

+

bringToTop()

@@ -8201,7 +8353,7 @@

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

+

contains(child)

@@ -8368,7 +8520,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8417,7 +8569,7 @@
Returns:
-

+

crop(rect [, copy])

@@ -8594,7 +8746,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -8623,7 +8775,7 @@
Parameters:
-

+

destroy()

@@ -8694,7 +8846,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -8723,7 +8875,7 @@

-

+

generateTexture( [resolution] [, scaleMode], renderer)

@@ -8939,7 +9091,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -8994,7 +9146,7 @@
Returns:
-

+

getBounds( [targetCoordinateSpace])

@@ -9128,7 +9280,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -9181,7 +9333,7 @@
Returns:
-

+

getChildAt(index)

@@ -9295,7 +9447,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9348,7 +9500,7 @@
Returns:
-

+

getChildIndex(child)

@@ -9462,7 +9614,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9515,7 +9667,7 @@
Returns:
-

+

getLocalBounds()

@@ -9579,7 +9731,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -9632,7 +9784,7 @@
Returns:
-

+

kill()

@@ -9700,7 +9852,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -9753,7 +9905,7 @@
Returns:
-

+

loadTexture(key [, frame] [, stopAnimation])

@@ -9985,7 +10137,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10014,7 +10166,7 @@
Parameters:
-

+

moveDown()

@@ -10081,7 +10233,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -10134,7 +10286,7 @@
Returns:
-

+

moveUp()

@@ -10201,7 +10353,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -10254,7 +10406,7 @@
Returns:
-

+

overlap(displayObject)

@@ -10384,7 +10536,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10437,7 +10589,7 @@
Returns:
-

+

play(name [, frameRate] [, loop] [, killOnComplete])

@@ -10690,7 +10842,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -10743,7 +10895,7 @@
Returns:
-

+

<protected> postUpdate()

@@ -10807,7 +10959,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -10836,7 +10988,7 @@

-

+

preUpdate()

@@ -10896,7 +11048,7 @@

Source:
- src/gameobjects/Rope.js line 145 + src/gameobjects/Rope.js line 145 @@ -10925,7 +11077,7 @@

-

+

<protected> preUpdateChildren()

@@ -10989,7 +11141,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -11018,7 +11170,7 @@

-

+

removeChild(child)

@@ -11132,7 +11284,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -11185,7 +11337,7 @@
Returns:
-

+

removeChildAt(index)

@@ -11299,7 +11451,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -11352,7 +11504,7 @@
Returns:
-

+

removeChildren(beginIndex, endIndex)

@@ -11490,7 +11642,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -11519,7 +11671,7 @@
Parameters:
-

+

reset(x, y)

@@ -11655,7 +11807,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 177 + src/gameobjects/Rope.js line 177 @@ -11708,7 +11860,7 @@
Returns:
-

+

resetFrame()

@@ -11772,7 +11924,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -11801,7 +11953,7 @@

-

+

resizeFrame(parent, width, height)

@@ -11965,7 +12117,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -11994,7 +12146,7 @@
Parameters:
-

+

revive( [health])

@@ -12130,7 +12282,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -12183,7 +12335,7 @@
Returns:
-

+

sendToBack()

@@ -12250,7 +12402,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -12303,7 +12455,7 @@
Returns:
-

+

setChildIndex(child, index)

@@ -12441,7 +12593,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -12470,7 +12622,7 @@
Parameters:
-

+

setFrame(frame)

@@ -12585,7 +12737,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -12614,7 +12766,7 @@
Parameters:
-

+

setScaleMinMax(minX, minY, maxX, maxY)

@@ -12822,7 +12974,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -12851,7 +13003,7 @@
Parameters:
-

+

swapChildren(child, child2)

@@ -12989,7 +13141,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -13018,7 +13170,7 @@
Parameters:
-

+

toGlobal(position)

@@ -13132,7 +13284,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -13187,7 +13339,7 @@
Returns:
-

+

toLocal(position [, from])

@@ -13345,7 +13497,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -13400,7 +13552,7 @@
Returns:
-

+

update()

@@ -13460,7 +13612,7 @@

Source:
- src/gameobjects/Rope.js line 162 + src/gameobjects/Rope.js line 162 @@ -13489,7 +13641,7 @@

-

+

updateCache()

@@ -13553,7 +13705,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -13608,7 +13760,7 @@
Returns:
-

+

updateCrop()

@@ -13673,7 +13825,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -13702,7 +13854,7 @@

-

+

updateTransform( [parent])

@@ -13841,7 +13993,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -13910,9 +14062,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -13929,9 +14081,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -13943,7 +14095,7 @@
Returns:
- +
@@ -13958,7 +14110,7 @@
Returns:
- + diff --git a/docs/Phaser.RoundedRectangle.html b/docs/Phaser.RoundedRectangle.html index b7233ebf5..f6364b54f 100644 --- a/docs/Phaser.RoundedRectangle.html +++ b/docs/Phaser.RoundedRectangle.html @@ -6,7 +6,7 @@ Phaser CE Class: RoundedRectangle - + @@ -125,7 +125,7 @@

-

+

new RoundedRectangle( [x] [, y] [, width] [, height] [, radius])

@@ -411,7 +411,7 @@
Parameters:
Source:
- src/geom/RoundedRectangle.js line 20 + src/geom/RoundedRectangle.js line 20 @@ -455,9 +455,11 @@

Members

-
-

height :number

- +
+

+ height : number + +

@@ -514,7 +516,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 46 + src/geom/RoundedRectangle.js line 46 @@ -530,9 +532,11 @@
Type:
-
-

radius :number

- +
+

+ radius : number + +

@@ -589,7 +593,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 51 + src/geom/RoundedRectangle.js line 51 @@ -605,9 +609,11 @@
Type:
-
-

<readonly> type :number

- +
+

+ <readonly> type : number + +

@@ -664,7 +670,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 57 + src/geom/RoundedRectangle.js line 57 @@ -680,9 +686,11 @@
Type:
-
-

width :number

- +
+

+ width : number + +

@@ -739,7 +747,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 41 + src/geom/RoundedRectangle.js line 41 @@ -755,9 +763,11 @@
Type:
-
-

x :number

- +
+

+ x : number + +

@@ -814,7 +824,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 31 + src/geom/RoundedRectangle.js line 31 @@ -830,9 +840,11 @@
Type:
-
-

y :number

- +
+

+ y : number + +

@@ -889,7 +901,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 36 + src/geom/RoundedRectangle.js line 36 @@ -912,7 +924,7 @@

Methods

-

+

clone()

@@ -968,7 +980,7 @@

Source:
- src/geom/RoundedRectangle.js line 62 + src/geom/RoundedRectangle.js line 62 @@ -1017,7 +1029,7 @@
Returns:
-

+

contains(x, y)

@@ -1146,7 +1158,7 @@
Parameters:
Source:
- src/geom/RoundedRectangle.js line 75 + src/geom/RoundedRectangle.js line 75 @@ -1213,9 +1225,9 @@
Returns:

- phaser-ce@2.8.7 + phaser-ce@2.8.8 is on - GitHub + GitHub and NPM

@@ -1232,9 +1244,9 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-09-12 + on 2017-09-25 - using a DocStrap template. + using Tomorrow.

@@ -1246,7 +1258,7 @@
Returns:
- +
@@ -1261,7 +1273,7 @@
Returns:
- + diff --git a/docs/Phaser.ScaleManager.html b/docs/Phaser.ScaleManager.html index 27e50adc0..dafb72d94 100644 --- a/docs/Phaser.ScaleManager.html +++ b/docs/Phaser.ScaleManager.html @@ -6,7 +6,7 @@ Phaser CE Class: ScaleManager - + @@ -161,7 +161,7 @@

Example Uses