diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c6b690fa..feb01f00f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,17 @@ See [README: Change Log: Unreleased](README.md#unreleased). +## 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 + ## Version 2.8.6 - 10th September 2017 ### Updates diff --git a/README.md b/README.md index 8751871ed..41e22e436 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.6](https://github.com/photonstorm/phaser-ce/releases/tag/v2.8.6). +The [current Phaser CE release is 2.8.7](https://github.com/photonstorm/phaser-ce/releases/tag/v2.8.7). - **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.6/build/custom/) are available too. +[Custom builds](https://cdn.jsdelivr.net/npm/phaser-ce@2.8.7/build/custom/) are available too. @@ -328,41 +328,16 @@ Written something cool in Phaser? Please tell us about it in the [forum][forum], # Change Log -## Unreleased +## Version 2.8.7 - 12th September 2017 ### Bug Fixes -* `onChildInput*` signals now fire correctly for particle emitters (#349). * 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, @samme, @yupaul - -## Version 2.8.6 - 10th September 2017 - -### Updates - -* Several internal changes in [Phaser.DeviceButton](https://photonstorm.github.io/phaser-ce/Phaser.DeviceButton.html) and [Phaser.Pointer](https://photonstorm.github.io/phaser-ce/Phaser.Pointer.html) (#340). - -### Bug Fixes - -* Fixed an issue where the [DEFAULT](https://photonstorm.github.io/phaser-ce/Phaser.Cache.html#_DEFAULT) and [MISSING](https://photonstorm.github.io/phaser-ce/Phaser.Cache.html#_MISSING) textures could be missing from the game cache when the game starts (#280 via #138). -* Fixed several issues related to [Phaser.MSPointer](https://photonstorm.github.io/phaser-ce/Phaser.MSPointer) and pointer events (#293, #250) -* Fixed an error when using [TweenData#generateData](https://photonstorm.github.io/phaser-ce/Phaser.TweenData.html#generateData) with an array-based tween (#346). -* Fixed game in an iframe not auto-resuming when refocused (#236). -* Fixed some TypeScript definitions (#342, #344). - -### Documentation - -* Fixed navigation menu obscuring anchor link targets at the top of the window (#343). -* Updated [Phaser.MSPointer](https://photonstorm.github.io/phaser-ce/Phaser.MSPointer.html) -* Added example for [Tween#tween.onUpdateCallback](https://photonstorm.github.io/phaser-ce/Phaser.Tween.html#onUpdateCallback). -* Updated [TweenData#value](https://photonstorm.github.io/phaser-ce/Phaser.TweenData.html#value). - -### Thanks - -@2called-chaos, @bseiller, @falquaddoomi, @johnbuttcoingalt, @photonstorm, @samme, @samvieten, @yupaul +@lucasgray, @photonstorm, @samme, @yupaul For changes in previous releases please see the extensive [Change Log](https://github.com/photonstorm/phaser-ce/blob/master/CHANGELOG.md). @@ -386,10 +361,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.6/phaser.js -[get-minjs]: https://github.com/photonstorm/phaser-ce/releases/download/v2.8.6/phaser.min.js -[get-zip]: https://github.com/photonstorm/phaser-ce/archive/v2.8.6.zip -[get-tgz]: https://github.com/photonstorm/phaser-ce/archive/v2.8.6.tar.gz +[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 [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 3cf73f475..6c5f9bf22 100644 --- a/build/custom/creature.min.js +++ b/build/custom/creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.6 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.7 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 6cf9e4bb5..4644521af 100644 --- a/build/custom/p2.min.js +++ b/build/custom/p2.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.6 P2.JS Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.7 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,R=w*v+_*m+S,M=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=M<(l=A<(l=P)?A:l)?M:l)?I:l,u=O<(u=L<(u=R(c=M>(c=A>c?A:c)?M:c)?I:c,d=O>(d=L>(d=R>d?R: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,R=l,M=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=M,c=R}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,R=E.b/P,M=E.c/P,L=E.d/P,I=E.tx,O=E.ty;m[S++]=A*T+M*C+I,m[S++]=L*C+R*T+O,m[S++]=o.x0,m[S++]=o.y0,g[S++]=f,m[S++]=r,m[S++]=A*_+M*C+I,m[S++]=L*C+R*_+O,m[S++]=o.x1,m[S++]=o.y1,g[S++]=f,m[S++]=r,m[S++]=A*_+M*w+I,m[S++]=L*w+R*_+O,m[S++]=o.x2,m[S++]=o.y2,g[S++]=f,m[S++]=r,m[S++]=A*T+M*w+I,m[S++]=L*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,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.6",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 s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&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,_/=M=Math.sqrt(_*_+T*T),T/=M,_*=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/=M=Math.sqrt(y*y+v*v),v/=M,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,R=l*x+v*c+u*b-x*c-v*u-l*b,M=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(R/A,I/A,M/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,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); //# 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 0eec0b8f1..40ef28bdd 100644 --- a/build/custom/phaser-creature.js +++ b/build/custom/phaser-creature.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.6 "2017-09-10" - Built: Sun Sep 10 2017 23:13:03 +* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:49 * * 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.6', + VERSION: '2.8.7', /** * An array of Phaser game instances. @@ -16888,12 +16888,12 @@ Phaser.MSPointer.prototype.constructor = Phaser.MSPointer; * * At the time of writing this there are device limitations you should be aware of: * -* - On Windows, if you install a mouse driver, and its utility software allows you to customize button actions -* (e.g., IntelliPoint and SetPoint), the middle (wheel) button, the 4th button, and the 5th button might not be set, +* - On Windows, if you install a mouse driver, and its utility software allows you to customize button actions +* (e.g., IntelliPoint and SetPoint), the middle (wheel) button, the 4th button, and the 5th button might not be set, * even when they are pressed. * - On Linux (GTK), the 4th button and the 5th button are not supported. * - On Mac OS X 10.5 there is no platform API for implementing any advanced buttons. -* +* * @class Phaser.DeviceButton * @constructor * @param {Phaser.Pointer|Phaser.SinglePad} parent - A reference to the parent of this button. Either a Pointer or a Gamepad. @@ -17015,7 +17015,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.Pointer and Phaser.SinglePad. * Handles the button down state. - * + * * @method Phaser.DeviceButton#start * @protected * @param {object} [event] - The DOM event that triggered the button change. @@ -17050,7 +17050,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.Pointer and Phaser.SinglePad. * Handles the button up state. - * + * * @method Phaser.DeviceButton#stop * @protected * @param {object} [event] - The DOM event that triggered the button change. @@ -17081,7 +17081,7 @@ Phaser.DeviceButton.prototype = { }, - /* + /** * Called automatically by Phaser.Pointer. * Starts or stops button based on condition. * @@ -17106,7 +17106,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.SinglePad. - * + * * @method Phaser.DeviceButton#padFloat * @protected * @param {number} value - Button value @@ -17125,7 +17125,7 @@ Phaser.DeviceButton.prototype = { /** * Returns the "just pressed" state of this button. * Just pressed is considered true if the button was pressed down within the duration given (default 250ms). - * + * * @method Phaser.DeviceButton#justPressed * @param {number} [duration=250] - The duration in ms below which the button is considered as being just pressed. * @return {boolean} True if the button is just pressed otherwise false. @@ -17141,7 +17141,7 @@ Phaser.DeviceButton.prototype = { /** * Returns the "just released" state of this button. * Just released is considered as being true if the button was released within the duration given (default 250ms). - * + * * @method Phaser.DeviceButton#justReleased * @param {number} [duration=250] - The duration in ms below which the button is considered as being just released. * @return {boolean} True if the button is just released otherwise false. @@ -17156,7 +17156,7 @@ Phaser.DeviceButton.prototype = { /** * Resets this DeviceButton, changing it to an isUp state and resetting the duration and repeats counters. - * + * * @method Phaser.DeviceButton#reset */ reset: function () { @@ -17174,9 +17174,9 @@ Phaser.DeviceButton.prototype = { }, /** - * Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals + * Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals * and clears the parent and game references. - * + * * @method Phaser.DeviceButton#destroy */ destroy: function () { @@ -17197,7 +17197,7 @@ Phaser.DeviceButton.prototype.constructor = Phaser.DeviceButton; /** * How long the button has been held down for in milliseconds. * If not currently down it returns -1. -* +* * @name Phaser.DeviceButton#duration * @property {number} duration * @readonly @@ -19206,7 +19206,7 @@ Phaser.InputHandler.prototype = { /** * Starts the Input Handler running. This is called automatically when you enable input on a Sprite, or can be called directly if you need to set a specific priority. - * + * * @method Phaser.InputHandler#start * @param {number} [priority=0] - Higher priority sprites take click priority over low-priority sprites when they are stacked on-top of each other. * @param {boolean} [useHandCursor=false] - If true the Sprite will show the hand cursor on mouse-over (doesn't apply to mobile browsers) @@ -19791,7 +19791,7 @@ Phaser.InputHandler.prototype = { /** * Internal Update method. This is called automatically and handles the Pointer * and drag update loops. - * + * * @method Phaser.InputHandler#update * @protected * @param {Phaser.Pointer} pointer @@ -19847,7 +19847,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the pointer over event. - * + * * @method Phaser.InputHandler#_pointerOverHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event @@ -19884,7 +19884,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputOver$dispatch(this.sprite, pointer); } - if (this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite.parent && this.sprite.parent.onChildInputOver) { this.sprite.parent.onChildInputOver.dispatch(this.sprite, pointer); } @@ -19894,7 +19894,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the pointer out event. - * + * * @method Phaser.InputHandler#_pointerOutHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event. @@ -19924,7 +19924,7 @@ Phaser.InputHandler.prototype = { { this.sprite.events.onInputOut$dispatch(this.sprite, pointer); - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputOut) { this.sprite.parent.onChildInputOut.dispatch(this.sprite, pointer); } @@ -19934,7 +19934,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the touched / clicked event. - * + * * @method Phaser.InputHandler#_touchedHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event. @@ -19970,7 +19970,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputDown$dispatch(this.sprite, pointer); // The event above might have destroyed this sprite. - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputDown) { this.sprite.parent.onChildInputDown.dispatch(this.sprite, pointer); } @@ -20017,7 +20017,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the drag threshold timer. - * + * * @method Phaser.InputHandler#dragTimeElapsed * @private * @param {Phaser.Pointer} pointer @@ -20071,7 +20071,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputUp$dispatch(this.sprite, pointer, isOver); } - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputUp) { this.sprite.parent.onChildInputUp.dispatch(this.sprite, pointer, isOver); } @@ -20082,7 +20082,7 @@ Phaser.InputHandler.prototype = { isOver = this.checkPointerOver(pointer); } } - + data.isOver = isOver; if (!isOver && this.useHandCursor) @@ -20107,7 +20107,7 @@ Phaser.InputHandler.prototype = { /** * Called as a Pointer actively drags this Game Object. - * + * * @method Phaser.InputHandler#updateDrag * @private * @param {Phaser.Pointer} pointer - The Pointer causing the drag update. @@ -20308,11 +20308,11 @@ Phaser.InputHandler.prototype = { * Allow this Sprite to be dragged by any valid pointer. * * When the drag begins the Sprite.events.onDragStart event will be dispatched. - * + * * When the drag completes by way of the user letting go of the pointer that was dragging the sprite, the Sprite.events.onDragStop event is dispatched. * * You can control the thresholds over when a drag starts via the properties: - * + * * `Pointer.dragDistanceThreshold` the distance, in pixels, that the pointer has to move * before the drag will start. * @@ -20323,7 +20323,7 @@ Phaser.InputHandler.prototype = { * * For the duration of the drag the Sprite.events.onDragUpdate event is dispatched. This event is only dispatched when the pointer actually * changes position and moves. The event sends 5 parameters: `sprite`, `pointer`, `dragX`, `dragY` and `snapPoint`. - * + * * @method Phaser.InputHandler#enableDrag * @param {boolean} [lockCenter=false] - If false the Sprite will drag from where you click it minus the dragOffset. If true it will center itself to the tip of the mouse pointer. * @param {boolean} [bringToTop=false] - If true the Sprite will be bought to the top of the rendering list in its current Group. @@ -20483,7 +20483,7 @@ Phaser.InputHandler.prototype = { return y; }, - + /** * Convert global coordinates to local sprite coordinates * @@ -20502,7 +20502,7 @@ Phaser.InputHandler.prototype = { return globalCoord; } - }, + }, /** * Called by Pointer when drag is stopped on this Sprite. Should not usually be called directly. diff --git a/build/custom/phaser-creature.map b/build/custom/phaser-creature.map index 5d289db1a..392b1e0d0 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","_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 diff --git a/build/custom/phaser-creature.min.js b/build/custom/phaser-creature.min.js index f8c71b312..6950b11d3 100644 --- a/build/custom/phaser-creature.min.js +++ b/build/custom/phaser-creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.6 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.7 - 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.6",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 s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&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.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); //# 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 10f64b756..38b47c3ea 100644 --- a/build/custom/phaser-minimum.js +++ b/build/custom/phaser-minimum.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.6 "2017-09-10" - Built: Sun Sep 10 2017 23:12:47 +* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:33 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -7597,7 +7597,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.8.6', + VERSION: '2.8.7', /** * An array of Phaser game instances. @@ -24432,12 +24432,12 @@ Phaser.MSPointer.prototype.constructor = Phaser.MSPointer; * * At the time of writing this there are device limitations you should be aware of: * -* - On Windows, if you install a mouse driver, and its utility software allows you to customize button actions -* (e.g., IntelliPoint and SetPoint), the middle (wheel) button, the 4th button, and the 5th button might not be set, +* - On Windows, if you install a mouse driver, and its utility software allows you to customize button actions +* (e.g., IntelliPoint and SetPoint), the middle (wheel) button, the 4th button, and the 5th button might not be set, * even when they are pressed. * - On Linux (GTK), the 4th button and the 5th button are not supported. * - On Mac OS X 10.5 there is no platform API for implementing any advanced buttons. -* +* * @class Phaser.DeviceButton * @constructor * @param {Phaser.Pointer|Phaser.SinglePad} parent - A reference to the parent of this button. Either a Pointer or a Gamepad. @@ -24559,7 +24559,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.Pointer and Phaser.SinglePad. * Handles the button down state. - * + * * @method Phaser.DeviceButton#start * @protected * @param {object} [event] - The DOM event that triggered the button change. @@ -24594,7 +24594,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.Pointer and Phaser.SinglePad. * Handles the button up state. - * + * * @method Phaser.DeviceButton#stop * @protected * @param {object} [event] - The DOM event that triggered the button change. @@ -24625,7 +24625,7 @@ Phaser.DeviceButton.prototype = { }, - /* + /** * Called automatically by Phaser.Pointer. * Starts or stops button based on condition. * @@ -24650,7 +24650,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.SinglePad. - * + * * @method Phaser.DeviceButton#padFloat * @protected * @param {number} value - Button value @@ -24669,7 +24669,7 @@ Phaser.DeviceButton.prototype = { /** * Returns the "just pressed" state of this button. * Just pressed is considered true if the button was pressed down within the duration given (default 250ms). - * + * * @method Phaser.DeviceButton#justPressed * @param {number} [duration=250] - The duration in ms below which the button is considered as being just pressed. * @return {boolean} True if the button is just pressed otherwise false. @@ -24685,7 +24685,7 @@ Phaser.DeviceButton.prototype = { /** * Returns the "just released" state of this button. * Just released is considered as being true if the button was released within the duration given (default 250ms). - * + * * @method Phaser.DeviceButton#justReleased * @param {number} [duration=250] - The duration in ms below which the button is considered as being just released. * @return {boolean} True if the button is just released otherwise false. @@ -24700,7 +24700,7 @@ Phaser.DeviceButton.prototype = { /** * Resets this DeviceButton, changing it to an isUp state and resetting the duration and repeats counters. - * + * * @method Phaser.DeviceButton#reset */ reset: function () { @@ -24718,9 +24718,9 @@ Phaser.DeviceButton.prototype = { }, /** - * Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals + * Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals * and clears the parent and game references. - * + * * @method Phaser.DeviceButton#destroy */ destroy: function () { @@ -24741,7 +24741,7 @@ Phaser.DeviceButton.prototype.constructor = Phaser.DeviceButton; /** * How long the button has been held down for in milliseconds. * If not currently down it returns -1. -* +* * @name Phaser.DeviceButton#duration * @property {number} duration * @readonly @@ -26750,7 +26750,7 @@ Phaser.InputHandler.prototype = { /** * Starts the Input Handler running. This is called automatically when you enable input on a Sprite, or can be called directly if you need to set a specific priority. - * + * * @method Phaser.InputHandler#start * @param {number} [priority=0] - Higher priority sprites take click priority over low-priority sprites when they are stacked on-top of each other. * @param {boolean} [useHandCursor=false] - If true the Sprite will show the hand cursor on mouse-over (doesn't apply to mobile browsers) @@ -27335,7 +27335,7 @@ Phaser.InputHandler.prototype = { /** * Internal Update method. This is called automatically and handles the Pointer * and drag update loops. - * + * * @method Phaser.InputHandler#update * @protected * @param {Phaser.Pointer} pointer @@ -27391,7 +27391,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the pointer over event. - * + * * @method Phaser.InputHandler#_pointerOverHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event @@ -27428,7 +27428,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputOver$dispatch(this.sprite, pointer); } - if (this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite.parent && this.sprite.parent.onChildInputOver) { this.sprite.parent.onChildInputOver.dispatch(this.sprite, pointer); } @@ -27438,7 +27438,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the pointer out event. - * + * * @method Phaser.InputHandler#_pointerOutHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event. @@ -27468,7 +27468,7 @@ Phaser.InputHandler.prototype = { { this.sprite.events.onInputOut$dispatch(this.sprite, pointer); - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputOut) { this.sprite.parent.onChildInputOut.dispatch(this.sprite, pointer); } @@ -27478,7 +27478,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the touched / clicked event. - * + * * @method Phaser.InputHandler#_touchedHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event. @@ -27514,7 +27514,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputDown$dispatch(this.sprite, pointer); // The event above might have destroyed this sprite. - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputDown) { this.sprite.parent.onChildInputDown.dispatch(this.sprite, pointer); } @@ -27561,7 +27561,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the drag threshold timer. - * + * * @method Phaser.InputHandler#dragTimeElapsed * @private * @param {Phaser.Pointer} pointer @@ -27615,7 +27615,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputUp$dispatch(this.sprite, pointer, isOver); } - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputUp) { this.sprite.parent.onChildInputUp.dispatch(this.sprite, pointer, isOver); } @@ -27626,7 +27626,7 @@ Phaser.InputHandler.prototype = { isOver = this.checkPointerOver(pointer); } } - + data.isOver = isOver; if (!isOver && this.useHandCursor) @@ -27651,7 +27651,7 @@ Phaser.InputHandler.prototype = { /** * Called as a Pointer actively drags this Game Object. - * + * * @method Phaser.InputHandler#updateDrag * @private * @param {Phaser.Pointer} pointer - The Pointer causing the drag update. @@ -27852,11 +27852,11 @@ Phaser.InputHandler.prototype = { * Allow this Sprite to be dragged by any valid pointer. * * When the drag begins the Sprite.events.onDragStart event will be dispatched. - * + * * When the drag completes by way of the user letting go of the pointer that was dragging the sprite, the Sprite.events.onDragStop event is dispatched. * * You can control the thresholds over when a drag starts via the properties: - * + * * `Pointer.dragDistanceThreshold` the distance, in pixels, that the pointer has to move * before the drag will start. * @@ -27867,7 +27867,7 @@ Phaser.InputHandler.prototype = { * * For the duration of the drag the Sprite.events.onDragUpdate event is dispatched. This event is only dispatched when the pointer actually * changes position and moves. The event sends 5 parameters: `sprite`, `pointer`, `dragX`, `dragY` and `snapPoint`. - * + * * @method Phaser.InputHandler#enableDrag * @param {boolean} [lockCenter=false] - If false the Sprite will drag from where you click it minus the dragOffset. If true it will center itself to the tip of the mouse pointer. * @param {boolean} [bringToTop=false] - If true the Sprite will be bought to the top of the rendering list in its current Group. @@ -28027,7 +28027,7 @@ Phaser.InputHandler.prototype = { return y; }, - + /** * Convert global coordinates to local sprite coordinates * @@ -28046,7 +28046,7 @@ Phaser.InputHandler.prototype = { return globalCoord; } - }, + }, /** * Called by Pointer when drag is stopped on this Sprite. Should not usually be called directly. diff --git a/build/custom/phaser-minimum.map b/build/custom/phaser-minimum.map index e70953eae..f0c394098 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","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 diff --git a/build/custom/phaser-minimum.min.js b/build/custom/phaser-minimum.min.js index 921fb382c..ad30da18d 100644 --- a/build/custom/phaser-minimum.min.js +++ b/build/custom/phaser-minimum.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.6 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.7 - 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.6",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 s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&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,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); //# 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 6de9688c1..c2999b414 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.6 "2017-09-10" - Built: Sun Sep 10 2017 23:12:41 +* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:28 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -7597,7 +7597,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.8.6', + VERSION: '2.8.7', /** * An array of Phaser game instances. @@ -24432,12 +24432,12 @@ Phaser.MSPointer.prototype.constructor = Phaser.MSPointer; * * At the time of writing this there are device limitations you should be aware of: * -* - On Windows, if you install a mouse driver, and its utility software allows you to customize button actions -* (e.g., IntelliPoint and SetPoint), the middle (wheel) button, the 4th button, and the 5th button might not be set, +* - On Windows, if you install a mouse driver, and its utility software allows you to customize button actions +* (e.g., IntelliPoint and SetPoint), the middle (wheel) button, the 4th button, and the 5th button might not be set, * even when they are pressed. * - On Linux (GTK), the 4th button and the 5th button are not supported. * - On Mac OS X 10.5 there is no platform API for implementing any advanced buttons. -* +* * @class Phaser.DeviceButton * @constructor * @param {Phaser.Pointer|Phaser.SinglePad} parent - A reference to the parent of this button. Either a Pointer or a Gamepad. @@ -24559,7 +24559,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.Pointer and Phaser.SinglePad. * Handles the button down state. - * + * * @method Phaser.DeviceButton#start * @protected * @param {object} [event] - The DOM event that triggered the button change. @@ -24594,7 +24594,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.Pointer and Phaser.SinglePad. * Handles the button up state. - * + * * @method Phaser.DeviceButton#stop * @protected * @param {object} [event] - The DOM event that triggered the button change. @@ -24625,7 +24625,7 @@ Phaser.DeviceButton.prototype = { }, - /* + /** * Called automatically by Phaser.Pointer. * Starts or stops button based on condition. * @@ -24650,7 +24650,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.SinglePad. - * + * * @method Phaser.DeviceButton#padFloat * @protected * @param {number} value - Button value @@ -24669,7 +24669,7 @@ Phaser.DeviceButton.prototype = { /** * Returns the "just pressed" state of this button. * Just pressed is considered true if the button was pressed down within the duration given (default 250ms). - * + * * @method Phaser.DeviceButton#justPressed * @param {number} [duration=250] - The duration in ms below which the button is considered as being just pressed. * @return {boolean} True if the button is just pressed otherwise false. @@ -24685,7 +24685,7 @@ Phaser.DeviceButton.prototype = { /** * Returns the "just released" state of this button. * Just released is considered as being true if the button was released within the duration given (default 250ms). - * + * * @method Phaser.DeviceButton#justReleased * @param {number} [duration=250] - The duration in ms below which the button is considered as being just released. * @return {boolean} True if the button is just released otherwise false. @@ -24700,7 +24700,7 @@ Phaser.DeviceButton.prototype = { /** * Resets this DeviceButton, changing it to an isUp state and resetting the duration and repeats counters. - * + * * @method Phaser.DeviceButton#reset */ reset: function () { @@ -24718,9 +24718,9 @@ Phaser.DeviceButton.prototype = { }, /** - * Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals + * Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals * and clears the parent and game references. - * + * * @method Phaser.DeviceButton#destroy */ destroy: function () { @@ -24741,7 +24741,7 @@ Phaser.DeviceButton.prototype.constructor = Phaser.DeviceButton; /** * How long the button has been held down for in milliseconds. * If not currently down it returns -1. -* +* * @name Phaser.DeviceButton#duration * @property {number} duration * @readonly @@ -26750,7 +26750,7 @@ Phaser.InputHandler.prototype = { /** * Starts the Input Handler running. This is called automatically when you enable input on a Sprite, or can be called directly if you need to set a specific priority. - * + * * @method Phaser.InputHandler#start * @param {number} [priority=0] - Higher priority sprites take click priority over low-priority sprites when they are stacked on-top of each other. * @param {boolean} [useHandCursor=false] - If true the Sprite will show the hand cursor on mouse-over (doesn't apply to mobile browsers) @@ -27335,7 +27335,7 @@ Phaser.InputHandler.prototype = { /** * Internal Update method. This is called automatically and handles the Pointer * and drag update loops. - * + * * @method Phaser.InputHandler#update * @protected * @param {Phaser.Pointer} pointer @@ -27391,7 +27391,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the pointer over event. - * + * * @method Phaser.InputHandler#_pointerOverHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event @@ -27428,7 +27428,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputOver$dispatch(this.sprite, pointer); } - if (this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite.parent && this.sprite.parent.onChildInputOver) { this.sprite.parent.onChildInputOver.dispatch(this.sprite, pointer); } @@ -27438,7 +27438,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the pointer out event. - * + * * @method Phaser.InputHandler#_pointerOutHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event. @@ -27468,7 +27468,7 @@ Phaser.InputHandler.prototype = { { this.sprite.events.onInputOut$dispatch(this.sprite, pointer); - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputOut) { this.sprite.parent.onChildInputOut.dispatch(this.sprite, pointer); } @@ -27478,7 +27478,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the touched / clicked event. - * + * * @method Phaser.InputHandler#_touchedHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event. @@ -27514,7 +27514,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputDown$dispatch(this.sprite, pointer); // The event above might have destroyed this sprite. - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputDown) { this.sprite.parent.onChildInputDown.dispatch(this.sprite, pointer); } @@ -27561,7 +27561,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the drag threshold timer. - * + * * @method Phaser.InputHandler#dragTimeElapsed * @private * @param {Phaser.Pointer} pointer @@ -27615,7 +27615,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputUp$dispatch(this.sprite, pointer, isOver); } - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputUp) { this.sprite.parent.onChildInputUp.dispatch(this.sprite, pointer, isOver); } @@ -27626,7 +27626,7 @@ Phaser.InputHandler.prototype = { isOver = this.checkPointerOver(pointer); } } - + data.isOver = isOver; if (!isOver && this.useHandCursor) @@ -27651,7 +27651,7 @@ Phaser.InputHandler.prototype = { /** * Called as a Pointer actively drags this Game Object. - * + * * @method Phaser.InputHandler#updateDrag * @private * @param {Phaser.Pointer} pointer - The Pointer causing the drag update. @@ -27852,11 +27852,11 @@ Phaser.InputHandler.prototype = { * Allow this Sprite to be dragged by any valid pointer. * * When the drag begins the Sprite.events.onDragStart event will be dispatched. - * + * * When the drag completes by way of the user letting go of the pointer that was dragging the sprite, the Sprite.events.onDragStop event is dispatched. * * You can control the thresholds over when a drag starts via the properties: - * + * * `Pointer.dragDistanceThreshold` the distance, in pixels, that the pointer has to move * before the drag will start. * @@ -27867,7 +27867,7 @@ Phaser.InputHandler.prototype = { * * For the duration of the drag the Sprite.events.onDragUpdate event is dispatched. This event is only dispatched when the pointer actually * changes position and moves. The event sends 5 parameters: `sprite`, `pointer`, `dragX`, `dragY` and `snapPoint`. - * + * * @method Phaser.InputHandler#enableDrag * @param {boolean} [lockCenter=false] - If false the Sprite will drag from where you click it minus the dragOffset. If true it will center itself to the tip of the mouse pointer. * @param {boolean} [bringToTop=false] - If true the Sprite will be bought to the top of the rendering list in its current Group. @@ -28027,7 +28027,7 @@ Phaser.InputHandler.prototype = { return y; }, - + /** * Convert global coordinates to local sprite coordinates * @@ -28046,7 +28046,7 @@ Phaser.InputHandler.prototype = { return globalCoord; } - }, + }, /** * Called by Pointer when drag is stopped on this Sprite. Should not usually be called directly. diff --git a/build/custom/phaser-no-physics.map b/build/custom/phaser-no-physics.map index d14962491..38068bf65 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","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 diff --git a/build/custom/phaser-no-physics.min.js b/build/custom/phaser-no-physics.min.js index dd414ff66..49def52e6 100644 --- a/build/custom/phaser-no-physics.min.js +++ b/build/custom/phaser-no-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.6 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.7 - 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.6",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 s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&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,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); //# 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 b18fae07d..5d2f50dd8 100644 --- a/build/custom/phaser-split.js +++ b/build/custom/phaser-split.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.6 "2017-09-10" - Built: Sun Sep 10 2017 23:12:53 +* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:40 * * 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.6', + VERSION: '2.8.7', /** * An array of Phaser game instances. @@ -16888,12 +16888,12 @@ Phaser.MSPointer.prototype.constructor = Phaser.MSPointer; * * At the time of writing this there are device limitations you should be aware of: * -* - On Windows, if you install a mouse driver, and its utility software allows you to customize button actions -* (e.g., IntelliPoint and SetPoint), the middle (wheel) button, the 4th button, and the 5th button might not be set, +* - On Windows, if you install a mouse driver, and its utility software allows you to customize button actions +* (e.g., IntelliPoint and SetPoint), the middle (wheel) button, the 4th button, and the 5th button might not be set, * even when they are pressed. * - On Linux (GTK), the 4th button and the 5th button are not supported. * - On Mac OS X 10.5 there is no platform API for implementing any advanced buttons. -* +* * @class Phaser.DeviceButton * @constructor * @param {Phaser.Pointer|Phaser.SinglePad} parent - A reference to the parent of this button. Either a Pointer or a Gamepad. @@ -17015,7 +17015,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.Pointer and Phaser.SinglePad. * Handles the button down state. - * + * * @method Phaser.DeviceButton#start * @protected * @param {object} [event] - The DOM event that triggered the button change. @@ -17050,7 +17050,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.Pointer and Phaser.SinglePad. * Handles the button up state. - * + * * @method Phaser.DeviceButton#stop * @protected * @param {object} [event] - The DOM event that triggered the button change. @@ -17081,7 +17081,7 @@ Phaser.DeviceButton.prototype = { }, - /* + /** * Called automatically by Phaser.Pointer. * Starts or stops button based on condition. * @@ -17106,7 +17106,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.SinglePad. - * + * * @method Phaser.DeviceButton#padFloat * @protected * @param {number} value - Button value @@ -17125,7 +17125,7 @@ Phaser.DeviceButton.prototype = { /** * Returns the "just pressed" state of this button. * Just pressed is considered true if the button was pressed down within the duration given (default 250ms). - * + * * @method Phaser.DeviceButton#justPressed * @param {number} [duration=250] - The duration in ms below which the button is considered as being just pressed. * @return {boolean} True if the button is just pressed otherwise false. @@ -17141,7 +17141,7 @@ Phaser.DeviceButton.prototype = { /** * Returns the "just released" state of this button. * Just released is considered as being true if the button was released within the duration given (default 250ms). - * + * * @method Phaser.DeviceButton#justReleased * @param {number} [duration=250] - The duration in ms below which the button is considered as being just released. * @return {boolean} True if the button is just released otherwise false. @@ -17156,7 +17156,7 @@ Phaser.DeviceButton.prototype = { /** * Resets this DeviceButton, changing it to an isUp state and resetting the duration and repeats counters. - * + * * @method Phaser.DeviceButton#reset */ reset: function () { @@ -17174,9 +17174,9 @@ Phaser.DeviceButton.prototype = { }, /** - * Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals + * Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals * and clears the parent and game references. - * + * * @method Phaser.DeviceButton#destroy */ destroy: function () { @@ -17197,7 +17197,7 @@ Phaser.DeviceButton.prototype.constructor = Phaser.DeviceButton; /** * How long the button has been held down for in milliseconds. * If not currently down it returns -1. -* +* * @name Phaser.DeviceButton#duration * @property {number} duration * @readonly @@ -19206,7 +19206,7 @@ Phaser.InputHandler.prototype = { /** * Starts the Input Handler running. This is called automatically when you enable input on a Sprite, or can be called directly if you need to set a specific priority. - * + * * @method Phaser.InputHandler#start * @param {number} [priority=0] - Higher priority sprites take click priority over low-priority sprites when they are stacked on-top of each other. * @param {boolean} [useHandCursor=false] - If true the Sprite will show the hand cursor on mouse-over (doesn't apply to mobile browsers) @@ -19791,7 +19791,7 @@ Phaser.InputHandler.prototype = { /** * Internal Update method. This is called automatically and handles the Pointer * and drag update loops. - * + * * @method Phaser.InputHandler#update * @protected * @param {Phaser.Pointer} pointer @@ -19847,7 +19847,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the pointer over event. - * + * * @method Phaser.InputHandler#_pointerOverHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event @@ -19884,7 +19884,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputOver$dispatch(this.sprite, pointer); } - if (this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite.parent && this.sprite.parent.onChildInputOver) { this.sprite.parent.onChildInputOver.dispatch(this.sprite, pointer); } @@ -19894,7 +19894,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the pointer out event. - * + * * @method Phaser.InputHandler#_pointerOutHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event. @@ -19924,7 +19924,7 @@ Phaser.InputHandler.prototype = { { this.sprite.events.onInputOut$dispatch(this.sprite, pointer); - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputOut) { this.sprite.parent.onChildInputOut.dispatch(this.sprite, pointer); } @@ -19934,7 +19934,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the touched / clicked event. - * + * * @method Phaser.InputHandler#_touchedHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event. @@ -19970,7 +19970,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputDown$dispatch(this.sprite, pointer); // The event above might have destroyed this sprite. - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputDown) { this.sprite.parent.onChildInputDown.dispatch(this.sprite, pointer); } @@ -20017,7 +20017,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the drag threshold timer. - * + * * @method Phaser.InputHandler#dragTimeElapsed * @private * @param {Phaser.Pointer} pointer @@ -20071,7 +20071,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputUp$dispatch(this.sprite, pointer, isOver); } - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputUp) { this.sprite.parent.onChildInputUp.dispatch(this.sprite, pointer, isOver); } @@ -20082,7 +20082,7 @@ Phaser.InputHandler.prototype = { isOver = this.checkPointerOver(pointer); } } - + data.isOver = isOver; if (!isOver && this.useHandCursor) @@ -20107,7 +20107,7 @@ Phaser.InputHandler.prototype = { /** * Called as a Pointer actively drags this Game Object. - * + * * @method Phaser.InputHandler#updateDrag * @private * @param {Phaser.Pointer} pointer - The Pointer causing the drag update. @@ -20308,11 +20308,11 @@ Phaser.InputHandler.prototype = { * Allow this Sprite to be dragged by any valid pointer. * * When the drag begins the Sprite.events.onDragStart event will be dispatched. - * + * * When the drag completes by way of the user letting go of the pointer that was dragging the sprite, the Sprite.events.onDragStop event is dispatched. * * You can control the thresholds over when a drag starts via the properties: - * + * * `Pointer.dragDistanceThreshold` the distance, in pixels, that the pointer has to move * before the drag will start. * @@ -20323,7 +20323,7 @@ Phaser.InputHandler.prototype = { * * For the duration of the drag the Sprite.events.onDragUpdate event is dispatched. This event is only dispatched when the pointer actually * changes position and moves. The event sends 5 parameters: `sprite`, `pointer`, `dragX`, `dragY` and `snapPoint`. - * + * * @method Phaser.InputHandler#enableDrag * @param {boolean} [lockCenter=false] - If false the Sprite will drag from where you click it minus the dragOffset. If true it will center itself to the tip of the mouse pointer. * @param {boolean} [bringToTop=false] - If true the Sprite will be bought to the top of the rendering list in its current Group. @@ -20483,7 +20483,7 @@ Phaser.InputHandler.prototype = { return y; }, - + /** * Convert global coordinates to local sprite coordinates * @@ -20502,7 +20502,7 @@ Phaser.InputHandler.prototype = { return globalCoord; } - }, + }, /** * Called by Pointer when drag is stopped on this Sprite. Should not usually be called directly. diff --git a/build/custom/phaser-split.map b/build/custom/phaser-split.map index 878d0dbfa..b88b1e7c2 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","_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 diff --git a/build/custom/phaser-split.min.js b/build/custom/phaser-split.min.js index c3727f5fb..8d9ce289a 100644 --- a/build/custom/phaser-split.min.js +++ b/build/custom/phaser-split.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.6 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.7 - 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.6",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 s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&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,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,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/A,R/A,O/A,E/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.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); //# sourceMappingURL=phaser-split.map \ No newline at end of file diff --git a/build/custom/pixi.js b/build/custom/pixi.js index c51e139b5..db510863f 100644 --- a/build/custom/pixi.js +++ b/build/custom/pixi.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.6 "2017-09-10" - Built: Sun Sep 10 2017 23:13:02 +* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:48 * * By Richard Davey http://www.photonstorm.com @photonstorm * diff --git a/build/custom/pixi.min.js b/build/custom/pixi.min.js index c2f2835cc..72c35e169 100644 --- a/build/custom/pixi.min.js +++ b/build/custom/pixi.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.6 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.7 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); //# sourceMappingURL=pixi.map \ No newline at end of file diff --git a/build/phaser.js b/build/phaser.js index aff30f72f..df999bb6d 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.6 "2017-09-10" - Built: Sun Sep 10 2017 23:12:25 +* v2.8.7 "2017-09-12" - Built: Tue Sep 12 2017 10:19:12 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -21235,7 +21235,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.8.6', + VERSION: '2.8.7', /** * An array of Phaser game instances. @@ -38070,12 +38070,12 @@ Phaser.MSPointer.prototype.constructor = Phaser.MSPointer; * * At the time of writing this there are device limitations you should be aware of: * -* - On Windows, if you install a mouse driver, and its utility software allows you to customize button actions -* (e.g., IntelliPoint and SetPoint), the middle (wheel) button, the 4th button, and the 5th button might not be set, +* - On Windows, if you install a mouse driver, and its utility software allows you to customize button actions +* (e.g., IntelliPoint and SetPoint), the middle (wheel) button, the 4th button, and the 5th button might not be set, * even when they are pressed. * - On Linux (GTK), the 4th button and the 5th button are not supported. * - On Mac OS X 10.5 there is no platform API for implementing any advanced buttons. -* +* * @class Phaser.DeviceButton * @constructor * @param {Phaser.Pointer|Phaser.SinglePad} parent - A reference to the parent of this button. Either a Pointer or a Gamepad. @@ -38197,7 +38197,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.Pointer and Phaser.SinglePad. * Handles the button down state. - * + * * @method Phaser.DeviceButton#start * @protected * @param {object} [event] - The DOM event that triggered the button change. @@ -38232,7 +38232,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.Pointer and Phaser.SinglePad. * Handles the button up state. - * + * * @method Phaser.DeviceButton#stop * @protected * @param {object} [event] - The DOM event that triggered the button change. @@ -38263,7 +38263,7 @@ Phaser.DeviceButton.prototype = { }, - /* + /** * Called automatically by Phaser.Pointer. * Starts or stops button based on condition. * @@ -38288,7 +38288,7 @@ Phaser.DeviceButton.prototype = { /** * Called automatically by Phaser.SinglePad. - * + * * @method Phaser.DeviceButton#padFloat * @protected * @param {number} value - Button value @@ -38307,7 +38307,7 @@ Phaser.DeviceButton.prototype = { /** * Returns the "just pressed" state of this button. * Just pressed is considered true if the button was pressed down within the duration given (default 250ms). - * + * * @method Phaser.DeviceButton#justPressed * @param {number} [duration=250] - The duration in ms below which the button is considered as being just pressed. * @return {boolean} True if the button is just pressed otherwise false. @@ -38323,7 +38323,7 @@ Phaser.DeviceButton.prototype = { /** * Returns the "just released" state of this button. * Just released is considered as being true if the button was released within the duration given (default 250ms). - * + * * @method Phaser.DeviceButton#justReleased * @param {number} [duration=250] - The duration in ms below which the button is considered as being just released. * @return {boolean} True if the button is just released otherwise false. @@ -38338,7 +38338,7 @@ Phaser.DeviceButton.prototype = { /** * Resets this DeviceButton, changing it to an isUp state and resetting the duration and repeats counters. - * + * * @method Phaser.DeviceButton#reset */ reset: function () { @@ -38356,9 +38356,9 @@ Phaser.DeviceButton.prototype = { }, /** - * Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals + * Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals * and clears the parent and game references. - * + * * @method Phaser.DeviceButton#destroy */ destroy: function () { @@ -38379,7 +38379,7 @@ Phaser.DeviceButton.prototype.constructor = Phaser.DeviceButton; /** * How long the button has been held down for in milliseconds. * If not currently down it returns -1. -* +* * @name Phaser.DeviceButton#duration * @property {number} duration * @readonly @@ -40388,7 +40388,7 @@ Phaser.InputHandler.prototype = { /** * Starts the Input Handler running. This is called automatically when you enable input on a Sprite, or can be called directly if you need to set a specific priority. - * + * * @method Phaser.InputHandler#start * @param {number} [priority=0] - Higher priority sprites take click priority over low-priority sprites when they are stacked on-top of each other. * @param {boolean} [useHandCursor=false] - If true the Sprite will show the hand cursor on mouse-over (doesn't apply to mobile browsers) @@ -40973,7 +40973,7 @@ Phaser.InputHandler.prototype = { /** * Internal Update method. This is called automatically and handles the Pointer * and drag update loops. - * + * * @method Phaser.InputHandler#update * @protected * @param {Phaser.Pointer} pointer @@ -41029,7 +41029,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the pointer over event. - * + * * @method Phaser.InputHandler#_pointerOverHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event @@ -41066,7 +41066,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputOver$dispatch(this.sprite, pointer); } - if (this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite.parent && this.sprite.parent.onChildInputOver) { this.sprite.parent.onChildInputOver.dispatch(this.sprite, pointer); } @@ -41076,7 +41076,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the pointer out event. - * + * * @method Phaser.InputHandler#_pointerOutHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event. @@ -41106,7 +41106,7 @@ Phaser.InputHandler.prototype = { { this.sprite.events.onInputOut$dispatch(this.sprite, pointer); - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputOut) { this.sprite.parent.onChildInputOut.dispatch(this.sprite, pointer); } @@ -41116,7 +41116,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the touched / clicked event. - * + * * @method Phaser.InputHandler#_touchedHandler * @private * @param {Phaser.Pointer} pointer - The pointer that triggered the event. @@ -41152,7 +41152,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputDown$dispatch(this.sprite, pointer); // The event above might have destroyed this sprite. - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputDown) { this.sprite.parent.onChildInputDown.dispatch(this.sprite, pointer); } @@ -41199,7 +41199,7 @@ Phaser.InputHandler.prototype = { /** * Internal method handling the drag threshold timer. - * + * * @method Phaser.InputHandler#dragTimeElapsed * @private * @param {Phaser.Pointer} pointer @@ -41253,7 +41253,7 @@ Phaser.InputHandler.prototype = { this.sprite.events.onInputUp$dispatch(this.sprite, pointer, isOver); } - if (this.sprite && this.sprite.parent && this.sprite.parent.type === Phaser.GROUP) + if (this.sprite && this.sprite.parent && this.sprite.parent.onChildInputUp) { this.sprite.parent.onChildInputUp.dispatch(this.sprite, pointer, isOver); } @@ -41264,7 +41264,7 @@ Phaser.InputHandler.prototype = { isOver = this.checkPointerOver(pointer); } } - + data.isOver = isOver; if (!isOver && this.useHandCursor) @@ -41289,7 +41289,7 @@ Phaser.InputHandler.prototype = { /** * Called as a Pointer actively drags this Game Object. - * + * * @method Phaser.InputHandler#updateDrag * @private * @param {Phaser.Pointer} pointer - The Pointer causing the drag update. @@ -41490,11 +41490,11 @@ Phaser.InputHandler.prototype = { * Allow this Sprite to be dragged by any valid pointer. * * When the drag begins the Sprite.events.onDragStart event will be dispatched. - * + * * When the drag completes by way of the user letting go of the pointer that was dragging the sprite, the Sprite.events.onDragStop event is dispatched. * * You can control the thresholds over when a drag starts via the properties: - * + * * `Pointer.dragDistanceThreshold` the distance, in pixels, that the pointer has to move * before the drag will start. * @@ -41505,7 +41505,7 @@ Phaser.InputHandler.prototype = { * * For the duration of the drag the Sprite.events.onDragUpdate event is dispatched. This event is only dispatched when the pointer actually * changes position and moves. The event sends 5 parameters: `sprite`, `pointer`, `dragX`, `dragY` and `snapPoint`. - * + * * @method Phaser.InputHandler#enableDrag * @param {boolean} [lockCenter=false] - If false the Sprite will drag from where you click it minus the dragOffset. If true it will center itself to the tip of the mouse pointer. * @param {boolean} [bringToTop=false] - If true the Sprite will be bought to the top of the rendering list in its current Group. @@ -41665,7 +41665,7 @@ Phaser.InputHandler.prototype = { return y; }, - + /** * Convert global coordinates to local sprite coordinates * @@ -41684,7 +41684,7 @@ Phaser.InputHandler.prototype = { return globalCoord; } - }, + }, /** * Called by Pointer when drag is stopped on this Sprite. Should not usually be called directly. diff --git a/build/phaser.map b/build/phaser.map index 41b36e903..c5d70a421 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","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 diff --git a/build/phaser.min.js b/build/phaser.min.js index 65ab83f8a..e7b132d5f 100644 --- a/build/phaser.min.js +++ b/build/phaser.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.6 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.7 - 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.6",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 s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&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;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); //# sourceMappingURL=phaser.map \ No newline at end of file diff --git a/docs/CreatureShader.html b/docs/CreatureShader.html index 2c11b141a..b5f873c1c 100644 --- a/docs/CreatureShader.html +++ b/docs/CreatureShader.html @@ -6,7 +6,7 @@ Phaser CE Class: CreatureShader - + @@ -224,7 +224,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 16 + src/gameobjects/Creature.js line 16 @@ -327,7 +327,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 43 + src/gameobjects/Creature.js line 43 @@ -398,7 +398,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 29 + src/gameobjects/Creature.js line 29 @@ -473,7 +473,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 36 + src/gameobjects/Creature.js line 36 @@ -548,7 +548,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 62 + src/gameobjects/Creature.js line 62 @@ -581,9 +581,9 @@
Type:

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

@@ -600,7 +600,7 @@
Type:

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

@@ -629,7 +629,7 @@
Type:
- + diff --git a/docs/EarCut.html b/docs/EarCut.html index 500fe3ea6..bedc284c5 100644 --- a/docs/EarCut.html +++ b/docs/EarCut.html @@ -6,7 +6,7 @@ Phaser CE Class: EarCut - + @@ -174,7 +174,7 @@

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

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

@@ -250,7 +250,7 @@

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

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

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

Parameters:
Source:
- src/plugins/path/EventTarget.js line 202 + src/plugins/path/EventTarget.js line 202 @@ -390,7 +390,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 253 + src/plugins/path/EventTarget.js line 253 @@ -465,7 +465,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 235 + src/plugins/path/EventTarget.js line 235 @@ -540,7 +540,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 265 + src/plugins/path/EventTarget.js line 265 @@ -615,7 +615,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 244 + src/plugins/path/EventTarget.js line 244 @@ -648,9 +648,9 @@
Type:

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

@@ -667,7 +667,7 @@
Type:

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

@@ -696,7 +696,7 @@
Type:
- + diff --git a/docs/EventTarget.html b/docs/EventTarget.html index 9db50f80c..f7a21e69d 100644 --- a/docs/EventTarget.html +++ b/docs/EventTarget.html @@ -6,7 +6,7 @@ Phaser CE Class: EventTarget - + @@ -178,7 +178,7 @@

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

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

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

@@ -353,7 +353,7 @@

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

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

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

Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 14 + src/pixi/textures/BaseTexture.js line 14 @@ -412,7 +412,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 58 + src/pixi/textures/BaseTexture.js line 58 @@ -487,7 +487,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 40 + src/pixi/textures/BaseTexture.js line 40 @@ -563,7 +563,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 93 + src/pixi/textures/BaseTexture.js line 93 @@ -645,7 +645,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 75 + src/pixi/textures/BaseTexture.js line 75 @@ -720,7 +720,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 22 + src/pixi/textures/BaseTexture.js line 22 @@ -802,7 +802,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 49 + src/pixi/textures/BaseTexture.js line 49 @@ -879,7 +879,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 131 + src/pixi/textures/BaseTexture.js line 131 @@ -954,7 +954,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 66 + src/pixi/textures/BaseTexture.js line 66 @@ -1029,7 +1029,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 100 + src/pixi/textures/BaseTexture.js line 100 @@ -1104,7 +1104,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 31 + src/pixi/textures/BaseTexture.js line 31 @@ -1182,7 +1182,7 @@

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

Source:
- src/pixi/textures/BaseTexture.js line 190 + src/pixi/textures/BaseTexture.js line 190 @@ -1426,7 +1426,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 144 + src/pixi/textures/BaseTexture.js line 144 @@ -1636,7 +1636,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 231 + src/pixi/textures/BaseTexture.js line 231 @@ -1741,7 +1741,7 @@

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

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

@@ -1946,7 +1946,7 @@
Parameters:

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

@@ -1975,7 +1975,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasBuffer.html b/docs/PIXI.CanvasBuffer.html index 370711a1e..a815c54af 100644 --- a/docs/PIXI.CanvasBuffer.html +++ b/docs/PIXI.CanvasBuffer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasBuffer - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 13 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 13 @@ -357,7 +357,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 37 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 37 @@ -432,7 +432,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 45 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 45 @@ -507,7 +507,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 29 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 29 @@ -582,7 +582,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 21 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 21 @@ -660,7 +660,7 @@

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

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

@@ -880,7 +880,7 @@
Parameters:

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

@@ -909,7 +909,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasGraphics.html b/docs/PIXI.CanvasGraphics.html index 6ae718873..467023857 100644 --- a/docs/PIXI.CanvasGraphics.html +++ b/docs/PIXI.CanvasGraphics.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasGraphics - + @@ -180,7 +180,7 @@

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

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

@@ -418,7 +418,7 @@
Parameters:

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

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

Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 11 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 11 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 49 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 49 @@ -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.6 + phaser-ce@2.8.7 is on - GitHub + GitHub and NPM

@@ -552,7 +552,7 @@
Parameters:

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

@@ -581,7 +581,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasRenderer.html b/docs/PIXI.CanvasRenderer.html index 31b6d0f85..bb704ad07 100644 --- a/docs/PIXI.CanvasRenderer.html +++ b/docs/PIXI.CanvasRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasRenderer - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 13 + src/pixi/renderers/canvas/CanvasRenderer.js line 13 @@ -334,7 +334,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 67 + src/pixi/renderers/canvas/CanvasRenderer.js line 67 @@ -412,7 +412,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 51 + src/pixi/renderers/canvas/CanvasRenderer.js line 51 @@ -487,7 +487,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 100 + src/pixi/renderers/canvas/CanvasRenderer.js line 100 @@ -562,7 +562,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 116 + src/pixi/renderers/canvas/CanvasRenderer.js line 116 @@ -637,7 +637,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 18 + src/pixi/renderers/canvas/CanvasRenderer.js line 18 @@ -719,7 +719,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 85 + src/pixi/renderers/canvas/CanvasRenderer.js line 85 @@ -841,7 +841,7 @@
Properties:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 123 + src/pixi/renderers/canvas/CanvasRenderer.js line 123 @@ -916,7 +916,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 108 + src/pixi/renderers/canvas/CanvasRenderer.js line 108 @@ -991,7 +991,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 130 + src/pixi/renderers/canvas/CanvasRenderer.js line 130 @@ -1066,7 +1066,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 39 + src/pixi/renderers/canvas/CanvasRenderer.js line 39 @@ -1141,7 +1141,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 59 + src/pixi/renderers/canvas/CanvasRenderer.js line 59 @@ -1216,7 +1216,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 31 + src/pixi/renderers/canvas/CanvasRenderer.js line 31 @@ -1291,7 +1291,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 93 + src/pixi/renderers/canvas/CanvasRenderer.js line 93 @@ -1373,7 +1373,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 76 + src/pixi/renderers/canvas/CanvasRenderer.js line 76 @@ -1521,7 +1521,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 201 + src/pixi/renderers/canvas/CanvasRenderer.js line 201 @@ -1658,7 +1658,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 152 + src/pixi/renderers/canvas/CanvasRenderer.js line 152 @@ -1816,7 +1816,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 223 + src/pixi/renderers/canvas/CanvasRenderer.js line 223 @@ -1859,9 +1859,9 @@
Parameters:

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

@@ -1878,7 +1878,7 @@
Parameters:

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

@@ -1907,7 +1907,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasTinter.html b/docs/PIXI.CanvasTinter.html index 1675709c5..33ac3a972 100644 --- a/docs/PIXI.CanvasTinter.html +++ b/docs/PIXI.CanvasTinter.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasTinter - + @@ -180,7 +180,7 @@

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

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

@@ -806,7 +806,7 @@
Parameters:

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

@@ -835,7 +835,7 @@
Parameters:
- + diff --git a/docs/PIXI.ComplexPrimitiveShader.html b/docs/PIXI.ComplexPrimitiveShader.html index 6168c044d..cf56b69d5 100644 --- a/docs/PIXI.ComplexPrimitiveShader.html +++ b/docs/PIXI.ComplexPrimitiveShader.html @@ -6,7 +6,7 @@ Phaser CE Class: ComplexPrimitiveShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 10 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 10 @@ -329,7 +329,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 37 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 37 @@ -400,7 +400,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 23 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 23 @@ -475,7 +475,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 30 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 30 @@ -550,7 +550,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 53 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 53 @@ -628,7 +628,7 @@

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

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

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

@@ -774,7 +774,7 @@

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

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

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

Source:
- src/pixi/display/DisplayObject.js line 18 + src/pixi/display/DisplayObject.js line 18 @@ -296,7 +296,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -378,7 +378,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -453,7 +453,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -533,7 +533,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -618,7 +618,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -696,7 +696,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -774,7 +774,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -850,7 +850,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -927,7 +927,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1003,7 +1003,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1081,7 +1081,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1159,7 +1159,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1246,7 +1246,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -1327,7 +1327,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -1407,7 +1407,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -1567,7 +1567,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -1647,7 +1647,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -1722,7 +1722,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -1798,7 +1798,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -1874,7 +1874,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -1954,7 +1954,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -2190,7 +2190,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -2300,7 +2300,7 @@

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -2434,7 +2434,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -2638,7 +2638,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -2748,7 +2748,7 @@

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

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

@@ -3016,7 +3016,7 @@
Returns:

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

@@ -3045,7 +3045,7 @@
Returns:
- + diff --git a/docs/PIXI.DisplayObjectContainer.html b/docs/PIXI.DisplayObjectContainer.html index 82b71d1e9..ac3cd7a0b 100644 --- a/docs/PIXI.DisplayObjectContainer.html +++ b/docs/PIXI.DisplayObjectContainer.html @@ -6,7 +6,7 @@ Phaser CE Class: DisplayObjectContainer - + @@ -181,7 +181,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 13 + src/pixi/display/DisplayObjectContainer.js line 13 @@ -314,7 +314,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -405,7 +405,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -480,7 +480,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -564,7 +564,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -653,7 +653,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -747,7 +747,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -824,7 +824,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -911,7 +911,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -998,7 +998,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -1083,7 +1083,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1169,7 +1169,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1254,7 +1254,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1341,7 +1341,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1428,7 +1428,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1524,7 +1524,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -1614,7 +1614,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -1703,7 +1703,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -1792,7 +1792,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -1881,7 +1881,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -1970,7 +1970,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -2054,7 +2054,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -2139,7 +2139,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -2224,7 +2224,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -2352,7 +2352,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -2534,7 +2534,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -2692,7 +2692,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -2807,7 +2807,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -3052,7 +3052,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -3227,7 +3227,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -3385,7 +3385,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -3543,7 +3543,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -3651,7 +3651,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -3902,7 +3902,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -4060,7 +4060,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -4242,7 +4242,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -4400,7 +4400,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -4558,7 +4558,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -4701,7 +4701,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -4914,7 +4914,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -5033,7 +5033,7 @@

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

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

@@ -5315,7 +5315,7 @@
Returns:

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

@@ -5344,7 +5344,7 @@
Returns:
- + diff --git a/docs/PIXI.FilterTexture.html b/docs/PIXI.FilterTexture.html index 4e7b474c1..68f4128e4 100644 --- a/docs/PIXI.FilterTexture.html +++ b/docs/PIXI.FilterTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: FilterTexture - + @@ -298,7 +298,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 63 + src/pixi/renderers/webgl/utils/FilterTexture.js line 63 @@ -397,7 +397,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 77 + src/pixi/renderers/webgl/utils/FilterTexture.js line 77 @@ -468,7 +468,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 70 + src/pixi/renderers/webgl/utils/FilterTexture.js line 70 @@ -539,7 +539,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 82 + src/pixi/renderers/webgl/utils/FilterTexture.js line 82 @@ -617,7 +617,7 @@

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

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

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

@@ -921,7 +921,7 @@
Parameters:

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

@@ -950,7 +950,7 @@
Parameters:
- + diff --git a/docs/PIXI.Phaser.GraphicsData.html b/docs/PIXI.Phaser.GraphicsData.html index 3dad84c0c..28dc58488 100644 --- a/docs/PIXI.Phaser.GraphicsData.html +++ b/docs/PIXI.Phaser.GraphicsData.html @@ -6,7 +6,7 @@ Phaser CE Class: Phaser.GraphicsData - + @@ -386,7 +386,7 @@
Parameters:
Source:
- src/gameobjects/GraphicsData.js line 15 + src/gameobjects/GraphicsData.js line 15 @@ -443,9 +443,9 @@
Parameters:

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

@@ -462,7 +462,7 @@
Parameters:

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

@@ -491,7 +491,7 @@
Parameters:
- + diff --git a/docs/PIXI.PixiFastShader.html b/docs/PIXI.PixiFastShader.html index 851cc8933..45047f411 100644 --- a/docs/PIXI.PixiFastShader.html +++ b/docs/PIXI.PixiFastShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PixiFastShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 @@ -329,7 +329,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 47 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 47 @@ -400,7 +400,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 22 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 22 @@ -475,7 +475,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 29 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 29 @@ -550,7 +550,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 125 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 125 @@ -625,7 +625,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 86 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 86 @@ -703,7 +703,7 @@

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

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

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

@@ -849,7 +849,7 @@

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

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

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

Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 11 + src/pixi/renderers/webgl/shaders/PixiShader.js line 11 @@ -329,7 +329,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 475 + src/pixi/renderers/webgl/shaders/PixiShader.js line 475 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 60 + src/pixi/renderers/webgl/shaders/PixiShader.js line 60 @@ -479,7 +479,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 38 + src/pixi/renderers/webgl/shaders/PixiShader.js line 38 @@ -550,7 +550,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 24 + src/pixi/renderers/webgl/shaders/PixiShader.js line 24 @@ -625,7 +625,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 31 + src/pixi/renderers/webgl/shaders/PixiShader.js line 31 @@ -700,7 +700,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 45 + src/pixi/renderers/webgl/shaders/PixiShader.js line 45 @@ -778,7 +778,7 @@

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

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

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

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

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

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

@@ -1178,7 +1178,7 @@

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

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

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

Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 10 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 10 @@ -329,7 +329,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 37 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 37 @@ -400,7 +400,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 23 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 23 @@ -475,7 +475,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 30 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 30 @@ -550,7 +550,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 51 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 51 @@ -628,7 +628,7 @@

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

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

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

@@ -774,7 +774,7 @@

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

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

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

Parameters:
Source:
- src/pixi/display/Sprite.js line 13 + src/pixi/display/Sprite.js line 13 @@ -394,7 +394,7 @@
Properties:
Source:
- src/pixi/display/Sprite.js line 128 + src/pixi/display/Sprite.js line 128 @@ -488,7 +488,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -567,7 +567,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -650,7 +650,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -741,7 +741,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -825,7 +825,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -907,7 +907,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -991,7 +991,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -1080,7 +1080,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -1174,7 +1174,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -1260,7 +1260,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1347,7 +1347,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -1434,7 +1434,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -1519,7 +1519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1605,7 +1605,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1782,7 +1782,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1869,7 +1869,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1952,7 +1952,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -2027,7 +2027,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -2109,7 +2109,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -2191,7 +2191,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -2287,7 +2287,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -2377,7 +2377,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -2466,7 +2466,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -2555,7 +2555,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -2644,7 +2644,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -2738,7 +2738,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -2822,7 +2822,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -2907,7 +2907,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -2992,7 +2992,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -3129,7 +3129,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -3320,7 +3320,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -3487,7 +3487,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -3602,7 +3602,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -3847,7 +3847,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -4019,7 +4019,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -4186,7 +4186,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -4353,7 +4353,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -4466,7 +4466,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -4726,7 +4726,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -4893,7 +4893,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -5084,7 +5084,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -5251,7 +5251,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -5442,7 +5442,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -5609,7 +5609,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -5752,7 +5752,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -5965,7 +5965,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -6084,7 +6084,7 @@

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

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

@@ -6361,7 +6361,7 @@
Returns:

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

@@ -6390,7 +6390,7 @@
Returns:
- + diff --git a/docs/PIXI.StripShader.html b/docs/PIXI.StripShader.html index c289cc3c9..c4f930374 100644 --- a/docs/PIXI.StripShader.html +++ b/docs/PIXI.StripShader.html @@ -6,7 +6,7 @@ Phaser CE Class: StripShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 10 + src/pixi/renderers/webgl/shaders/StripShader.js line 10 @@ -329,7 +329,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 49 + src/pixi/renderers/webgl/shaders/StripShader.js line 76 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 76 + src/pixi/renderers/webgl/shaders/StripShader.js line 49 @@ -475,7 +475,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 23 + src/pixi/renderers/webgl/shaders/StripShader.js line 23 @@ -550,7 +550,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 30 + src/pixi/renderers/webgl/shaders/StripShader.js line 30 @@ -625,7 +625,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 95 + src/pixi/renderers/webgl/shaders/StripShader.js line 95 @@ -703,7 +703,7 @@

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

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

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

@@ -849,7 +849,7 @@

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

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

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

Parameters:
Source:
- src/pixi/textures/Texture.js line 25 + src/pixi/textures/Texture.js line 25 @@ -444,7 +444,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 52 + src/pixi/textures/Texture.js line 52 @@ -520,7 +520,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -595,7 +595,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -670,7 +670,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -745,7 +745,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -820,7 +820,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -895,7 +895,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -970,7 +970,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -1047,7 +1047,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -1122,7 +1122,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -1197,7 +1197,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 76 + src/pixi/textures/Texture.js line 76 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -1400,7 +1400,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -1558,7 +1558,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -1712,7 +1712,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -1755,9 +1755,9 @@
Parameters:

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

@@ -1774,7 +1774,7 @@
Parameters:

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

@@ -1803,7 +1803,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLBlendModeManager.html b/docs/PIXI.WebGLBlendModeManager.html index 93fc7021c..8781188fb 100644 --- a/docs/PIXI.WebGLBlendModeManager.html +++ b/docs/PIXI.WebGLBlendModeManager.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLBlendModeManager - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 10 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 10 @@ -325,7 +325,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 16 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 16 @@ -403,7 +403,7 @@

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

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

@@ -733,7 +733,7 @@
Parameters:

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

@@ -762,7 +762,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLFastSpriteBatch.html b/docs/PIXI.WebGLFastSpriteBatch.html index d1bb01a15..cbcd28075 100644 --- a/docs/PIXI.WebGLFastSpriteBatch.html +++ b/docs/PIXI.WebGLFastSpriteBatch.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLFastSpriteBatch - + @@ -176,7 +176,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 15 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 15 @@ -275,7 +275,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 100 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 100 @@ -346,7 +346,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 94 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 94 @@ -417,7 +417,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 106 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 106 @@ -488,7 +488,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 88 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 88 @@ -559,7 +559,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 66 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 66 @@ -634,7 +634,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 54 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 54 @@ -705,7 +705,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 72 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 72 @@ -776,7 +776,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 124 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 124 @@ -847,7 +847,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 28 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 28 @@ -918,7 +918,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 112 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 112 @@ -989,7 +989,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 118 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 118 @@ -1060,7 +1060,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 34 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 34 @@ -1131,7 +1131,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 60 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 60 @@ -1206,7 +1206,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 47 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 47 @@ -1277,7 +1277,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 22 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 22 @@ -1425,7 +1425,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 155 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 155 @@ -1505,7 +1505,7 @@

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

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 360 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 360 @@ -1715,7 +1715,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 178 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 178 @@ -1845,7 +1845,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 209 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 209 @@ -1979,7 +1979,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 131 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 131 @@ -2059,7 +2059,7 @@

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

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

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

@@ -2201,7 +2201,7 @@

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

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

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

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 9 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 9 @@ -275,7 +275,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 15 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 15 @@ -346,7 +346,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 21 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 21 @@ -417,7 +417,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 27 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 27 @@ -617,7 +617,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 336 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 336 @@ -771,7 +771,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 46 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 46 @@ -855,7 +855,7 @@

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

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

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

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

@@ -1353,7 +1353,7 @@
Parameters:

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

@@ -1382,7 +1382,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLRenderer.html b/docs/PIXI.WebGLRenderer.html index 572bd3bd4..85ebb4911 100644 --- a/docs/PIXI.WebGLRenderer.html +++ b/docs/PIXI.WebGLRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLRenderer - + @@ -233,7 +233,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 19 + src/pixi/renderers/webgl/WebGLRenderer.js line 19 @@ -336,7 +336,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 62 + src/pixi/renderers/webgl/WebGLRenderer.js line 62 @@ -411,7 +411,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 175 + src/pixi/renderers/webgl/WebGLRenderer.js line 175 @@ -489,7 +489,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 82 + src/pixi/renderers/webgl/WebGLRenderer.js line 82 @@ -560,7 +560,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 187 + src/pixi/renderers/webgl/WebGLRenderer.js line 187 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 161 + src/pixi/renderers/webgl/WebGLRenderer.js line 161 @@ -710,7 +710,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 24 + src/pixi/renderers/webgl/WebGLRenderer.js line 24 @@ -785,7 +785,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 98 + src/pixi/renderers/webgl/WebGLRenderer.js line 98 @@ -860,7 +860,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 154 + src/pixi/renderers/webgl/WebGLRenderer.js line 154 @@ -931,7 +931,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 131 + src/pixi/renderers/webgl/WebGLRenderer.js line 131 @@ -1006,7 +1006,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 70 + src/pixi/renderers/webgl/WebGLRenderer.js line 70 @@ -1077,7 +1077,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 125 + src/pixi/renderers/webgl/WebGLRenderer.js line 125 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 181 + src/pixi/renderers/webgl/WebGLRenderer.js line 181 @@ -1230,7 +1230,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 46 + src/pixi/renderers/webgl/WebGLRenderer.js line 46 @@ -1305,7 +1305,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 140 + src/pixi/renderers/webgl/WebGLRenderer.js line 140 @@ -1380,7 +1380,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 147 + src/pixi/renderers/webgl/WebGLRenderer.js line 147 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 168 + src/pixi/renderers/webgl/WebGLRenderer.js line 168 @@ -1530,7 +1530,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 54 + src/pixi/renderers/webgl/WebGLRenderer.js line 54 @@ -1601,7 +1601,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 37 + src/pixi/renderers/webgl/WebGLRenderer.js line 37 @@ -1676,7 +1676,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 106 + src/pixi/renderers/webgl/WebGLRenderer.js line 106 @@ -1751,7 +1751,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 90 + src/pixi/renderers/webgl/WebGLRenderer.js line 90 @@ -1829,7 +1829,7 @@

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

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

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 610 + src/pixi/renderers/webgl/WebGLRenderer.js line 610 @@ -2127,7 +2127,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 359 + src/pixi/renderers/webgl/WebGLRenderer.js line 359 @@ -2309,7 +2309,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 394 + src/pixi/renderers/webgl/WebGLRenderer.js line 394 @@ -2467,7 +2467,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 432 + src/pixi/renderers/webgl/WebGLRenderer.js line 432 @@ -2612,7 +2612,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 268 + src/pixi/renderers/webgl/WebGLRenderer.js line 268 @@ -2770,7 +2770,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 458 + src/pixi/renderers/webgl/WebGLRenderer.js line 458 @@ -2928,7 +2928,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 517 + src/pixi/renderers/webgl/WebGLRenderer.js line 517 @@ -2995,9 +2995,9 @@
Returns:

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

@@ -3014,7 +3014,7 @@
Returns:

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

@@ -3043,7 +3043,7 @@
Returns:
- + diff --git a/docs/PIXI.html b/docs/PIXI.html index 5097047ed..4943a7eae 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 @@ -315,7 +315,7 @@

<static> glContexts<
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 5 + src/pixi/renderers/webgl/WebGLRenderer.js line 5 @@ -392,7 +392,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 12 + src/pixi/textures/Texture.js line 12 @@ -540,7 +540,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 @@ -738,7 +738,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 @@ -912,7 +912,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 @@ -975,9 +975,9 @@
Returns:

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

@@ -994,7 +994,7 @@
Returns:

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

@@ -1023,7 +1023,7 @@
Returns:
- + diff --git a/docs/Phaser.Animation.html b/docs/Phaser.Animation.html index 37295bf38..c534f8ce6 100644 --- a/docs/Phaser.Animation.html +++ b/docs/Phaser.Animation.html @@ -6,7 +6,7 @@ Phaser CE Class: Animation - + @@ -474,7 +474,7 @@
Parameters:
Source:
- src/animation/Animation.js line 22 + src/animation/Animation.js line 22 @@ -577,7 +577,7 @@
Type:
Source:
- src/animation/Animation.js line 125 + src/animation/Animation.js line 125 @@ -652,7 +652,7 @@
Type:
Source:
- src/animation/Animation.js line 58 + src/animation/Animation.js line 58 @@ -727,7 +727,7 @@
Type:
Source:
- src/animation/Animation.js line 808 + src/animation/Animation.js line 808 @@ -802,7 +802,7 @@
Type:
Source:
- src/animation/Animation.js line 747 + src/animation/Animation.js line 747 @@ -877,7 +877,7 @@
Type:
Source:
- src/animation/Animation.js line 734 + src/animation/Animation.js line 734 @@ -952,7 +952,7 @@
Type:
Source:
- src/animation/Animation.js line 29 + src/animation/Animation.js line 29 @@ -1027,7 +1027,7 @@
Type:
Source:
- src/animation/Animation.js line 80 + src/animation/Animation.js line 80 @@ -1102,7 +1102,7 @@
Type:
Source:
- src/animation/Animation.js line 92 + src/animation/Animation.js line 92 @@ -1177,7 +1177,7 @@
Type:
Source:
- src/animation/Animation.js line 86 + src/animation/Animation.js line 86 @@ -1252,7 +1252,7 @@
Type:
Source:
- src/animation/Animation.js line 157 + src/animation/Animation.js line 157 @@ -1327,7 +1327,7 @@
Type:
Source:
- src/animation/Animation.js line 74 + src/animation/Animation.js line 74 @@ -1402,7 +1402,7 @@
Type:
Source:
- src/animation/Animation.js line 63 + src/animation/Animation.js line 63 @@ -1477,7 +1477,7 @@
Type:
Source:
- src/animation/Animation.js line 68 + src/animation/Animation.js line 68 @@ -1552,7 +1552,7 @@
Type:
Source:
- src/animation/Animation.js line 46 + src/animation/Animation.js line 46 @@ -1627,7 +1627,7 @@
Type:
Source:
- src/animation/Animation.js line 146 + src/animation/Animation.js line 146 @@ -1702,7 +1702,7 @@
Type:
Source:
- src/animation/Animation.js line 151 + src/animation/Animation.js line 151 @@ -1777,7 +1777,7 @@
Type:
Source:
- src/animation/Animation.js line 130 + src/animation/Animation.js line 130 @@ -1859,7 +1859,7 @@
Type:
Source:
- src/animation/Animation.js line 141 + src/animation/Animation.js line 141 @@ -1934,7 +1934,7 @@
Type:
Source:
- src/animation/Animation.js line 680 + src/animation/Animation.js line 680 @@ -2009,7 +2009,7 @@
Type:
Source:
- src/animation/Animation.js line 714 + src/animation/Animation.js line 714 @@ -2084,7 +2084,7 @@
Type:
Source:
- src/animation/Animation.js line 785 + src/animation/Animation.js line 785 @@ -2382,7 +2382,7 @@
Parameters:
Source:
- src/animation/Animation.js line 836 + src/animation/Animation.js line 836 @@ -2491,7 +2491,7 @@

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

Source:
- src/animation/Animation.js line 616 + src/animation/Animation.js line 616 @@ -2729,7 +2729,7 @@
Parameters:
Source:
- src/animation/Animation.js line 539 + src/animation/Animation.js line 539 @@ -2813,7 +2813,7 @@

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

Source:
- src/animation/Animation.js line 383 + src/animation/Animation.js line 383 @@ -3133,7 +3133,7 @@
Parameters:
Source:
- src/animation/Animation.js line 167 + src/animation/Animation.js line 167 @@ -3313,7 +3313,7 @@
Parameters:
Source:
- src/animation/Animation.js line 571 + src/animation/Animation.js line 571 @@ -3397,7 +3397,7 @@

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

Source:
- src/animation/Animation.js line 249 + src/animation/Animation.js line 249 @@ -3591,7 +3591,7 @@

Source:
- src/animation/Animation.js line 263 + src/animation/Animation.js line 263 @@ -3810,7 +3810,7 @@
Parameters:
Source:
- src/animation/Animation.js line 279 + src/animation/Animation.js line 279 @@ -4005,7 +4005,7 @@
Parameters:
Source:
- src/animation/Animation.js line 338 + src/animation/Animation.js line 338 @@ -4089,7 +4089,7 @@

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

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

@@ -4285,7 +4285,7 @@
Parameters:

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

@@ -4314,7 +4314,7 @@
Parameters:
- + diff --git a/docs/Phaser.AnimationManager.html b/docs/Phaser.AnimationManager.html index 81990ca14..772841659 100644 --- a/docs/Phaser.AnimationManager.html +++ b/docs/Phaser.AnimationManager.html @@ -6,7 +6,7 @@ Phaser CE Class: AnimationManager - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 15 + src/animation/AnimationManager.js line 15 @@ -334,7 +334,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 40 + src/animation/AnimationManager.js line 40 @@ -410,7 +410,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 34 + src/animation/AnimationManager.js line 34 @@ -485,7 +485,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 503 + src/animation/AnimationManager.js line 503 @@ -560,7 +560,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 439 + src/animation/AnimationManager.js line 439 @@ -635,7 +635,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 532 + src/animation/AnimationManager.js line 532 @@ -710,7 +710,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 452 + src/animation/AnimationManager.js line 452 @@ -785,7 +785,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 25 + src/animation/AnimationManager.js line 25 @@ -860,7 +860,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 52 + src/animation/AnimationManager.js line 52 @@ -935,7 +935,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 486 + src/animation/AnimationManager.js line 486 @@ -1010,7 +1010,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 466 + src/animation/AnimationManager.js line 466 @@ -1085,7 +1085,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 20 + src/animation/AnimationManager.js line 20 @@ -1167,7 +1167,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 46 + src/animation/AnimationManager.js line 46 @@ -1472,7 +1472,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 170 + src/animation/AnimationManager.js line 170 @@ -1581,7 +1581,7 @@

Source:
- src/animation/AnimationManager.js line 407 + src/animation/AnimationManager.js line 407 @@ -1715,7 +1715,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 374 + src/animation/AnimationManager.js line 374 @@ -1893,7 +1893,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 342 + src/animation/AnimationManager.js line 342 @@ -2167,7 +2167,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 253 + src/animation/AnimationManager.js line 253 @@ -2345,7 +2345,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 358 + src/animation/AnimationManager.js line 358 @@ -2429,7 +2429,7 @@

Source:
- src/animation/AnimationManager.js line 395 + src/animation/AnimationManager.js line 395 @@ -2624,7 +2624,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 299 + src/animation/AnimationManager.js line 299 @@ -2708,7 +2708,7 @@

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

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

@@ -3008,7 +3008,7 @@
Returns:

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

@@ -3037,7 +3037,7 @@
Returns:
- + diff --git a/docs/Phaser.AnimationParser.html b/docs/Phaser.AnimationParser.html index 662e83103..a00187e9d 100644 --- a/docs/Phaser.AnimationParser.html +++ b/docs/Phaser.AnimationParser.html @@ -6,7 +6,7 @@ Phaser CE Class: AnimationParser - + @@ -180,7 +180,7 @@

Source:
- src/animation/AnimationParser.js line 13 + src/animation/AnimationParser.js line 13 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 114 + src/animation/AnimationParser.js line 114 @@ -538,7 +538,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 230 + src/animation/AnimationParser.js line 230 @@ -720,7 +720,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 173 + src/animation/AnimationParser.js line 173 @@ -1165,7 +1165,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 15 + src/animation/AnimationParser.js line 15 @@ -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.6 + phaser-ce@2.8.7 is on - GitHub + GitHub and NPM

@@ -1433,7 +1433,7 @@
Returns:

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

@@ -1462,7 +1462,7 @@
Returns:
- + diff --git a/docs/Phaser.ArraySet.html b/docs/Phaser.ArraySet.html index e7119da2a..2f041d3ad 100644 --- a/docs/Phaser.ArraySet.html +++ b/docs/Phaser.ArraySet.html @@ -6,7 +6,7 @@ Phaser CE Class: ArraySet - + @@ -253,7 +253,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 19 + src/utils/ArraySet.js line 19 @@ -356,7 +356,7 @@
Type:
Source:
- src/utils/ArraySet.js line 231 + src/utils/ArraySet.js line 231 @@ -431,7 +431,7 @@
Type:
Source:
- src/utils/ArraySet.js line 32 + src/utils/ArraySet.js line 32 @@ -506,7 +506,7 @@
Type:
Source:
- src/utils/ArraySet.js line 256 + src/utils/ArraySet.js line 256 @@ -581,7 +581,7 @@
Type:
Source:
- src/utils/ArraySet.js line 26 + src/utils/ArraySet.js line 26 @@ -656,7 +656,7 @@
Type:
Source:
- src/utils/ArraySet.js line 217 + src/utils/ArraySet.js line 217 @@ -785,7 +785,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 38 + src/utils/ArraySet.js line 38 @@ -989,7 +989,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 159 + src/utils/ArraySet.js line 159 @@ -1123,7 +1123,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 95 + src/utils/ArraySet.js line 95 @@ -1306,7 +1306,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 70 + src/utils/ArraySet.js line 70 @@ -1464,7 +1464,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 57 + src/utils/ArraySet.js line 57 @@ -1622,7 +1622,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 119 + src/utils/ArraySet.js line 119 @@ -1800,7 +1800,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 185 + src/utils/ArraySet.js line 185 @@ -1884,7 +1884,7 @@

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

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

@@ -2104,7 +2104,7 @@
Parameters:

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

@@ -2133,7 +2133,7 @@
Parameters:
- + diff --git a/docs/Phaser.ArrayUtils.html b/docs/Phaser.ArrayUtils.html index 531a447d6..d322ee867 100644 --- a/docs/Phaser.ArrayUtils.html +++ b/docs/Phaser.ArrayUtils.html @@ -6,7 +6,7 @@ Phaser CE Class: ArrayUtils - + @@ -180,7 +180,7 @@

Source:
- src/utils/ArrayUtils.js line 13 + src/utils/ArrayUtils.js line 13 @@ -357,7 +357,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 163 + src/utils/ArrayUtils.js line 163 @@ -565,7 +565,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 15 + src/utils/ArrayUtils.js line 15 @@ -748,7 +748,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 262 + src/utils/ArrayUtils.js line 262 @@ -1004,7 +1004,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 284 + src/utils/ArrayUtils.js line 284 @@ -1234,7 +1234,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 39 + src/utils/ArrayUtils.js line 39 @@ -1405,7 +1405,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 239 + src/utils/ArrayUtils.js line 239 @@ -1567,7 +1567,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 217 + src/utils/ArrayUtils.js line 217 @@ -1753,7 +1753,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 122 + src/utils/ArrayUtils.js line 122 @@ -1915,7 +1915,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 195 + src/utils/ArrayUtils.js line 195 @@ -2073,7 +2073,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 73 + src/utils/ArrayUtils.js line 73 @@ -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.6 + phaser-ce@2.8.7 is on - GitHub + GitHub and NPM

@@ -2317,7 +2317,7 @@
Returns:

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

@@ -2346,7 +2346,7 @@
Returns:
- + diff --git a/docs/Phaser.AudioSprite.html b/docs/Phaser.AudioSprite.html index 4266bb6e3..db2cf5330 100644 --- a/docs/Phaser.AudioSprite.html +++ b/docs/Phaser.AudioSprite.html @@ -6,7 +6,7 @@ Phaser CE Class: AudioSprite - + @@ -255,7 +255,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 17 + src/sound/AudioSprite.js line 17 @@ -358,7 +358,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 48 + src/sound/AudioSprite.js line 48 @@ -433,7 +433,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 41 + src/sound/AudioSprite.js line 41 @@ -508,7 +508,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 35 + src/sound/AudioSprite.js line 35 @@ -583,7 +583,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 23 + src/sound/AudioSprite.js line 23 @@ -658,7 +658,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 29 + src/sound/AudioSprite.js line 29 @@ -733,7 +733,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 54 + src/sound/AudioSprite.js line 54 @@ -861,7 +861,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 115 + src/sound/AudioSprite.js line 115 @@ -1077,7 +1077,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 77 + src/sound/AudioSprite.js line 77 @@ -1255,7 +1255,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 93 + src/sound/AudioSprite.js line 93 @@ -1298,9 +1298,9 @@
Parameters:

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

@@ -1317,7 +1317,7 @@
Parameters:

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

@@ -1346,7 +1346,7 @@
Parameters:
- + diff --git a/docs/Phaser.BitmapData.html b/docs/Phaser.BitmapData.html index e61e8669d..e6db9a47b 100644 --- a/docs/Phaser.BitmapData.html +++ b/docs/Phaser.BitmapData.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapData - + @@ -407,7 +407,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 24 + src/gameobjects/BitmapData.js line 24 @@ -510,7 +510,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 124 + src/gameobjects/BitmapData.js line 124 @@ -585,7 +585,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 54 + src/gameobjects/BitmapData.js line 54 @@ -660,7 +660,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 60 + src/gameobjects/BitmapData.js line 60 @@ -735,7 +735,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 65 + src/gameobjects/BitmapData.js line 65 @@ -811,7 +811,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 84 + src/gameobjects/BitmapData.js line 84 @@ -886,7 +886,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 159 + src/gameobjects/BitmapData.js line 159 @@ -961,7 +961,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 154 + src/gameobjects/BitmapData.js line 154 @@ -1036,7 +1036,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 135 + src/gameobjects/BitmapData.js line 135 @@ -1111,7 +1111,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 33 + src/gameobjects/BitmapData.js line 33 @@ -1186,7 +1186,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 48 + src/gameobjects/BitmapData.js line 48 @@ -1263,7 +1263,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 77 + src/gameobjects/BitmapData.js line 77 @@ -1338,7 +1338,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 38 + src/gameobjects/BitmapData.js line 38 @@ -1413,7 +1413,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 94 + src/gameobjects/BitmapData.js line 94 @@ -1488,7 +1488,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 70 + src/gameobjects/BitmapData.js line 70 @@ -1563,7 +1563,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 130 + src/gameobjects/BitmapData.js line 130 @@ -1638,7 +1638,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 141 + src/gameobjects/BitmapData.js line 141 @@ -1713,7 +1713,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 149 + src/gameobjects/BitmapData.js line 149 @@ -1788,7 +1788,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 43 + src/gameobjects/BitmapData.js line 43 @@ -2036,7 +2036,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2476 + src/gameobjects/BitmapData.js line 2476 @@ -2204,7 +2204,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 393 + src/gameobjects/BitmapData.js line 393 @@ -2582,7 +2582,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1211 + src/gameobjects/BitmapData.js line 1211 @@ -2888,7 +2888,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1770 + src/gameobjects/BitmapData.js line 1770 @@ -2996,7 +2996,7 @@

Source:
- src/gameobjects/BitmapData.js line 2201 + src/gameobjects/BitmapData.js line 2201 @@ -3104,7 +3104,7 @@

Source:
- src/gameobjects/BitmapData.js line 2383 + src/gameobjects/BitmapData.js line 2383 @@ -3212,7 +3212,7 @@

Source:
- src/gameobjects/BitmapData.js line 2292 + src/gameobjects/BitmapData.js line 2292 @@ -3320,7 +3320,7 @@

Source:
- src/gameobjects/BitmapData.js line 2279 + src/gameobjects/BitmapData.js line 2279 @@ -3428,7 +3428,7 @@

Source:
- src/gameobjects/BitmapData.js line 2253 + src/gameobjects/BitmapData.js line 2253 @@ -3536,7 +3536,7 @@

Source:
- src/gameobjects/BitmapData.js line 2175 + src/gameobjects/BitmapData.js line 2175 @@ -3644,7 +3644,7 @@

Source:
- src/gameobjects/BitmapData.js line 2149 + src/gameobjects/BitmapData.js line 2149 @@ -3752,7 +3752,7 @@

Source:
- src/gameobjects/BitmapData.js line 2162 + src/gameobjects/BitmapData.js line 2162 @@ -3860,7 +3860,7 @@

Source:
- src/gameobjects/BitmapData.js line 2136 + src/gameobjects/BitmapData.js line 2136 @@ -3968,7 +3968,7 @@

Source:
- src/gameobjects/BitmapData.js line 2331 + src/gameobjects/BitmapData.js line 2331 @@ -4076,7 +4076,7 @@

Source:
- src/gameobjects/BitmapData.js line 2344 + src/gameobjects/BitmapData.js line 2344 @@ -4184,7 +4184,7 @@

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

Source:
- src/gameobjects/BitmapData.js line 2357 + src/gameobjects/BitmapData.js line 2357 @@ -4400,7 +4400,7 @@

Source:
- src/gameobjects/BitmapData.js line 2266 + src/gameobjects/BitmapData.js line 2266 @@ -4508,7 +4508,7 @@

Source:
- src/gameobjects/BitmapData.js line 2396 + src/gameobjects/BitmapData.js line 2396 @@ -4616,7 +4616,7 @@

Source:
- src/gameobjects/BitmapData.js line 2214 + src/gameobjects/BitmapData.js line 2214 @@ -4724,7 +4724,7 @@

Source:
- src/gameobjects/BitmapData.js line 2240 + src/gameobjects/BitmapData.js line 2240 @@ -4832,7 +4832,7 @@

Source:
- src/gameobjects/BitmapData.js line 2071 + src/gameobjects/BitmapData.js line 2071 @@ -4940,7 +4940,7 @@

Source:
- src/gameobjects/BitmapData.js line 2370 + src/gameobjects/BitmapData.js line 2370 @@ -5048,7 +5048,7 @@

Source:
- src/gameobjects/BitmapData.js line 2227 + src/gameobjects/BitmapData.js line 2227 @@ -5156,7 +5156,7 @@

Source:
- src/gameobjects/BitmapData.js line 2318 + src/gameobjects/BitmapData.js line 2318 @@ -5264,7 +5264,7 @@

Source:
- src/gameobjects/BitmapData.js line 2123 + src/gameobjects/BitmapData.js line 2123 @@ -5372,7 +5372,7 @@

Source:
- src/gameobjects/BitmapData.js line 2097 + src/gameobjects/BitmapData.js line 2097 @@ -5480,7 +5480,7 @@

Source:
- src/gameobjects/BitmapData.js line 2110 + src/gameobjects/BitmapData.js line 2110 @@ -5588,7 +5588,7 @@

Source:
- src/gameobjects/BitmapData.js line 2084 + src/gameobjects/BitmapData.js line 2084 @@ -5696,7 +5696,7 @@

Source:
- src/gameobjects/BitmapData.js line 2188 + src/gameobjects/BitmapData.js line 2188 @@ -5962,7 +5962,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1923 + src/gameobjects/BitmapData.js line 1923 @@ -6260,7 +6260,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 463 + src/gameobjects/BitmapData.js line 463 @@ -6368,7 +6368,7 @@

Source:
- src/gameobjects/BitmapData.js line 457 + src/gameobjects/BitmapData.js line 457 @@ -7176,7 +7176,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1237 + src/gameobjects/BitmapData.js line 1237 @@ -7417,7 +7417,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2409 + src/gameobjects/BitmapData.js line 2409 @@ -7837,7 +7837,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1566 + src/gameobjects/BitmapData.js line 1566 @@ -8108,7 +8108,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1458 + src/gameobjects/BitmapData.js line 1458 @@ -8216,7 +8216,7 @@

Source:
- src/gameobjects/BitmapData.js line 2056 + src/gameobjects/BitmapData.js line 2056 @@ -8617,7 +8617,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1585 + src/gameobjects/BitmapData.js line 1585 @@ -8895,7 +8895,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1680 + src/gameobjects/BitmapData.js line 1680 @@ -9156,7 +9156,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1613 + src/gameobjects/BitmapData.js line 1613 @@ -9639,7 +9639,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1804 + src/gameobjects/BitmapData.js line 1804 @@ -9925,7 +9925,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 494 + src/gameobjects/BitmapData.js line 494 @@ -10176,7 +10176,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 516 + src/gameobjects/BitmapData.js line 516 @@ -10350,7 +10350,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1183 + src/gameobjects/BitmapData.js line 1183 @@ -10534,7 +10534,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1100 + src/gameobjects/BitmapData.js line 1100 @@ -10770,7 +10770,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1017 + src/gameobjects/BitmapData.js line 1017 @@ -10955,7 +10955,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1048 + src/gameobjects/BitmapData.js line 1048 @@ -11285,7 +11285,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1068 + src/gameobjects/BitmapData.js line 1068 @@ -11443,7 +11443,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1087 + src/gameobjects/BitmapData.js line 1087 @@ -11805,7 +11805,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1952 + src/gameobjects/BitmapData.js line 1952 @@ -11984,7 +11984,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 422 + src/gameobjects/BitmapData.js line 422 @@ -12235,7 +12235,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 240 + src/gameobjects/BitmapData.js line 240 @@ -12450,7 +12450,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 267 + src/gameobjects/BitmapData.js line 267 @@ -12665,7 +12665,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 330 + src/gameobjects/BitmapData.js line 330 @@ -13035,7 +13035,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 732 + src/gameobjects/BitmapData.js line 732 @@ -13408,7 +13408,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 674 + src/gameobjects/BitmapData.js line 674 @@ -13706,7 +13706,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1857 + src/gameobjects/BitmapData.js line 1857 @@ -13816,7 +13816,7 @@

Source:
- src/gameobjects/BitmapData.js line 2036 + src/gameobjects/BitmapData.js line 2036 @@ -14243,7 +14243,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 786 + src/gameobjects/BitmapData.js line 786 @@ -14425,7 +14425,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 584 + src/gameobjects/BitmapData.js line 584 @@ -14721,7 +14721,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 836 + src/gameobjects/BitmapData.js line 836 @@ -15079,7 +15079,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 999 + src/gameobjects/BitmapData.js line 999 @@ -15473,7 +15473,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 960 + src/gameobjects/BitmapData.js line 960 @@ -15769,7 +15769,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1738 + src/gameobjects/BitmapData.js line 1738 @@ -16067,7 +16067,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 897 + src/gameobjects/BitmapData.js line 897 @@ -16435,7 +16435,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1881 + src/gameobjects/BitmapData.js line 1881 @@ -16688,7 +16688,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1986 + src/gameobjects/BitmapData.js line 1986 @@ -16989,7 +16989,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 628 + src/gameobjects/BitmapData.js line 628 @@ -17056,9 +17056,9 @@
Returns:

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

@@ -17075,7 +17075,7 @@
Returns:

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

@@ -17104,7 +17104,7 @@
Returns:
- + diff --git a/docs/Phaser.BitmapText.html b/docs/Phaser.BitmapText.html index fbbb8699f..c702a2c4d 100644 --- a/docs/Phaser.BitmapText.html +++ b/docs/Phaser.BitmapText.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapText - + @@ -489,7 +489,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 54 + src/gameobjects/BitmapText.js line 54 @@ -625,7 +625,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 536 + src/gameobjects/BitmapText.js line 536 @@ -720,7 +720,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -814,7 +814,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -889,7 +889,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 92 + src/gameobjects/BitmapText.js line 92 @@ -978,7 +978,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1063,7 +1063,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1158,7 +1158,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1259,7 +1259,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1344,7 +1344,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1435,7 +1435,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1520,7 +1520,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1605,7 +1605,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1690,7 +1690,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1780,7 +1780,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1864,7 +1864,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1948,7 +1948,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2042,7 +2042,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2126,7 +2126,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2211,7 +2211,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2286,7 +2286,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 153 + src/gameobjects/BitmapText.js line 153 @@ -2371,7 +2371,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2467,7 +2467,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2551,7 +2551,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2640,7 +2640,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2731,7 +2731,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2806,7 +2806,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 580 + src/gameobjects/BitmapText.js line 580 @@ -2881,7 +2881,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 603 + src/gameobjects/BitmapText.js line 603 @@ -2966,7 +2966,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3050,7 +3050,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3144,7 +3144,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3230,7 +3230,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3315,7 +3315,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3495,7 +3495,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3579,7 +3579,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -3679,7 +3679,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3764,7 +3764,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3852,7 +3852,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -3939,7 +3939,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4018,7 +4018,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 649 + src/gameobjects/BitmapText.js line 649 @@ -4103,7 +4103,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4189,7 +4189,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4275,7 +4275,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4359,7 +4359,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4444,7 +4444,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4531,7 +4531,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4618,7 +4618,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4693,7 +4693,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 75 + src/gameobjects/BitmapText.js line 75 @@ -4778,7 +4778,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4864,7 +4864,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4948,7 +4948,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5032,7 +5032,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5117,7 +5117,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5202,7 +5202,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5287,7 +5287,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5374,7 +5374,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5461,7 +5461,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5538,7 +5538,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 682 + src/gameobjects/BitmapText.js line 682 @@ -5613,7 +5613,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 627 + src/gameobjects/BitmapText.js line 627 @@ -5688,7 +5688,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 87 + src/gameobjects/BitmapText.js line 87 @@ -5763,7 +5763,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 81 + src/gameobjects/BitmapText.js line 81 @@ -5838,7 +5838,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 558 + src/gameobjects/BitmapText.js line 558 @@ -5923,7 +5923,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5998,7 +5998,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 69 + src/gameobjects/BitmapText.js line 69 @@ -6094,7 +6094,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -6180,7 +6180,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6270,7 +6270,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6359,7 +6359,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6448,7 +6448,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6537,7 +6537,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6626,7 +6626,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6710,7 +6710,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6800,7 +6800,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6890,7 +6890,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6977,7 +6977,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7114,7 +7114,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7305,7 +7305,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7648,7 +7648,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -7992,7 +7992,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8208,7 +8208,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 312 + src/gameobjects/BitmapText.js line 312 @@ -8375,7 +8375,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8495,7 +8495,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -8740,7 +8740,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -8924,7 +8924,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -9091,7 +9091,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9258,7 +9258,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9375,7 +9375,7 @@

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

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -9609,7 +9609,7 @@

Source:
- src/gameobjects/BitmapText.js line 198 + src/gameobjects/BitmapText.js line 198 @@ -9698,7 +9698,7 @@

Source:
- src/gameobjects/BitmapText.js line 187 + src/gameobjects/BitmapText.js line 187 @@ -9815,7 +9815,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -9904,7 +9904,7 @@

Source:
- src/gameobjects/BitmapText.js line 478 + src/gameobjects/BitmapText.js line 478 @@ -10071,7 +10071,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -10238,7 +10238,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -10429,7 +10429,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -10668,7 +10668,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -10857,7 +10857,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -11048,7 +11048,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -11183,7 +11183,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 217 + src/gameobjects/BitmapText.js line 217 @@ -11350,7 +11350,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -11493,7 +11493,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -11706,7 +11706,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -11827,7 +11827,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -11920,7 +11920,7 @@

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

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

@@ -12008,7 +12008,7 @@
Returns:

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

@@ -12037,7 +12037,7 @@
Returns:
- + diff --git a/docs/Phaser.Bullet.html b/docs/Phaser.Bullet.html index 9351a5b82..c4a20446a 100644 --- a/docs/Phaser.Bullet.html +++ b/docs/Phaser.Bullet.html @@ -6,7 +6,7 @@ Phaser CE Class: Bullet - + @@ -339,7 +339,7 @@
Parameters:
Source:
- src/plugins/weapon/Bullet.js line 20 + src/plugins/weapon/Bullet.js line 20 @@ -478,7 +478,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -572,7 +572,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -660,7 +660,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -749,7 +749,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -834,7 +834,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -929,7 +929,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1021,7 +1021,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1122,7 +1122,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1207,7 +1207,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1298,7 +1298,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1383,7 +1383,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1468,7 +1468,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1643,7 +1643,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1727,7 +1727,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1811,7 +1811,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1897,7 +1897,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1996,7 +1996,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2080,7 +2080,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2165,7 +2165,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2250,7 +2250,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2334,7 +2334,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2419,7 +2419,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2504,7 +2504,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2607,7 +2607,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2691,7 +2691,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2780,7 +2780,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2871,7 +2871,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2960,7 +2960,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3049,7 +3049,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3134,7 +3134,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3218,7 +3218,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3310,7 +3310,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3490,7 +3490,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3575,7 +3575,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3664,7 +3664,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3755,7 +3755,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3839,7 +3839,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -3939,7 +3939,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4024,7 +4024,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4112,7 +4112,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4199,7 +4199,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4291,7 +4291,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4376,7 +4376,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4462,7 +4462,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4548,7 +4548,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4632,7 +4632,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4717,7 +4717,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4804,7 +4804,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4891,7 +4891,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4975,7 +4975,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5060,7 +5060,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5146,7 +5146,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5230,7 +5230,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5314,7 +5314,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5399,7 +5399,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5484,7 +5484,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5569,7 +5569,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5661,7 +5661,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5748,7 +5748,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5834,7 +5834,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5920,7 +5920,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6012,7 +6012,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6098,7 +6098,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6182,7 +6182,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6273,7 +6273,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6364,7 +6364,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6449,7 +6449,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6533,7 +6533,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6617,7 +6617,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6701,7 +6701,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -6802,7 +6802,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -6888,7 +6888,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6978,7 +6978,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7067,7 +7067,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7156,7 +7156,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7245,7 +7245,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7334,7 +7334,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7418,7 +7418,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7503,7 +7503,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7588,7 +7588,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7675,7 +7675,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7812,7 +7812,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8003,7 +8003,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8346,7 +8346,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8690,7 +8690,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8810,7 +8810,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8977,7 +8977,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9203,7 +9203,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9347,7 +9347,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9466,7 +9466,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -9711,7 +9711,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -9887,7 +9887,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10054,7 +10054,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10221,7 +10221,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10338,7 +10338,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10505,7 +10505,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -10568,7 +10568,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.

@@ -10618,7 +10619,7 @@

Source:
- src/plugins/weapon/Bullet.js line 60 + src/plugins/weapon/Bullet.js line 41 @@ -10657,8 +10658,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.

@@ -10708,7 +10708,7 @@

Source:
- src/plugins/weapon/Bullet.js line 41 + src/plugins/weapon/Bullet.js line 60 @@ -10969,7 +10969,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11065,7 +11065,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11185,7 +11185,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11368,7 +11368,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11674,7 +11674,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -11791,7 +11791,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -11884,7 +11884,7 @@

Source:
- src/gameobjects/Sprite.js line 107 + src/gameobjects/Sprite.js line 107 @@ -12001,7 +12001,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12144,7 +12144,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12311,7 +12311,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12502,7 +12502,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -12741,7 +12741,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -12858,7 +12858,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13051,7 +13051,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13216,7 +13216,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -13336,7 +13336,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13527,7 +13527,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -13671,7 +13671,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -13815,7 +13815,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14076,7 +14076,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -14276,7 +14276,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -14443,7 +14443,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14586,7 +14586,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -14799,7 +14799,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -14925,7 +14925,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -15018,7 +15018,7 @@

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

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -15301,7 +15301,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15370,9 +15370,9 @@
Returns:

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

@@ -15389,7 +15389,7 @@
Returns:

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

@@ -15418,7 +15418,7 @@
Returns:
- + diff --git a/docs/Phaser.Button.html b/docs/Phaser.Button.html index 8786267c4..726bf4b0d 100644 --- a/docs/Phaser.Button.html +++ b/docs/Phaser.Button.html @@ -6,7 +6,7 @@ Phaser CE Class: Button - + @@ -613,7 +613,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 35 + src/gameobjects/Button.js line 35 @@ -747,7 +747,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -841,7 +841,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -929,7 +929,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -1018,7 +1018,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1103,7 +1103,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1198,7 +1198,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1290,7 +1290,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1375,7 +1375,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1466,7 +1466,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1551,7 +1551,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1636,7 +1636,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1721,7 +1721,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1805,7 +1805,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1889,7 +1889,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1975,7 +1975,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2069,7 +2069,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2153,7 +2153,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2323,7 +2323,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2421,7 +2421,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2505,7 +2505,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2594,7 +2594,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2685,7 +2685,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2764,7 +2764,7 @@
Type:
Source:
- src/gameobjects/Button.js line 199 + src/gameobjects/Button.js line 199 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -2952,7 +2952,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3027,7 +3027,7 @@
Type:
Source:
- src/gameobjects/Button.js line 189 + src/gameobjects/Button.js line 189 @@ -3112,7 +3112,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3196,7 +3196,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3290,7 +3290,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3376,7 +3376,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3461,7 +3461,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3550,7 +3550,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3646,7 +3646,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3722,7 +3722,7 @@
Type:
Source:
- src/gameobjects/Button.js line 182 + src/gameobjects/Button.js line 182 @@ -3822,7 +3822,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3907,7 +3907,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3995,7 +3995,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4082,7 +4082,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4167,7 +4167,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4253,7 +4253,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4339,7 +4339,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4420,7 +4420,7 @@
Type:
Source:
- src/gameobjects/Button.js line 105 + src/gameobjects/Button.js line 105 @@ -4495,7 +4495,7 @@
Type:
Source:
- src/gameobjects/Button.js line 133 + src/gameobjects/Button.js line 133 @@ -4570,7 +4570,7 @@
Type:
Source:
- src/gameobjects/Button.js line 158 + src/gameobjects/Button.js line 158 @@ -4645,7 +4645,7 @@
Type:
Source:
- src/gameobjects/Button.js line 152 + src/gameobjects/Button.js line 152 @@ -4720,7 +4720,7 @@
Type:
Source:
- src/gameobjects/Button.js line 146 + src/gameobjects/Button.js line 146 @@ -4795,7 +4795,7 @@
Type:
Source:
- src/gameobjects/Button.js line 164 + src/gameobjects/Button.js line 164 @@ -4876,7 +4876,7 @@
Type:
Source:
- src/gameobjects/Button.js line 98 + src/gameobjects/Button.js line 98 @@ -4951,7 +4951,7 @@
Type:
Source:
- src/gameobjects/Button.js line 126 + src/gameobjects/Button.js line 126 @@ -5034,7 +5034,7 @@
Type:
Source:
- src/gameobjects/Button.js line 173 + src/gameobjects/Button.js line 173 @@ -5115,7 +5115,7 @@
Type:
Source:
- src/gameobjects/Button.js line 91 + src/gameobjects/Button.js line 91 @@ -5190,7 +5190,7 @@
Type:
Source:
- src/gameobjects/Button.js line 119 + src/gameobjects/Button.js line 119 @@ -5271,7 +5271,7 @@
Type:
Source:
- src/gameobjects/Button.js line 112 + src/gameobjects/Button.js line 112 @@ -5346,7 +5346,7 @@
Type:
Source:
- src/gameobjects/Button.js line 140 + src/gameobjects/Button.js line 140 @@ -5433,7 +5433,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5520,7 +5520,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5595,7 +5595,7 @@
Type:
Source:
- src/gameobjects/Button.js line 56 + src/gameobjects/Button.js line 56 @@ -5680,7 +5680,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5766,7 +5766,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5850,7 +5850,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5934,7 +5934,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -6019,7 +6019,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -6104,7 +6104,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -6189,7 +6189,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -6276,7 +6276,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6363,7 +6363,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6449,7 +6449,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6535,7 +6535,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6627,7 +6627,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6713,7 +6713,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6797,7 +6797,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6888,7 +6888,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6979,7 +6979,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -7064,7 +7064,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -7148,7 +7148,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7232,7 +7232,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7312,7 +7312,7 @@
Type:
Source:
- src/gameobjects/Button.js line 50 + src/gameobjects/Button.js line 50 @@ -7408,7 +7408,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7494,7 +7494,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7584,7 +7584,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7673,7 +7673,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7762,7 +7762,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7851,7 +7851,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7940,7 +7940,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -8024,7 +8024,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -8109,7 +8109,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -8194,7 +8194,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -8281,7 +8281,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8418,7 +8418,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8609,7 +8609,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8952,7 +8952,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -9296,7 +9296,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9416,7 +9416,7 @@

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

Source:
- src/gameobjects/Button.js line 233 + src/gameobjects/Button.js line 233 @@ -9667,7 +9667,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9893,7 +9893,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9988,7 +9988,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -10233,7 +10233,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10409,7 +10409,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10576,7 +10576,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10743,7 +10743,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10860,7 +10860,7 @@

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

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -11266,7 +11266,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11362,7 +11362,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11482,7 +11482,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11664,7 +11664,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 531 + src/gameobjects/Button.js line 531 @@ -11822,7 +11822,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 511 + src/gameobjects/Button.js line 511 @@ -11980,7 +11980,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 478 + src/gameobjects/Button.js line 478 @@ -12138,7 +12138,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 551 + src/gameobjects/Button.js line 551 @@ -12297,7 +12297,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12603,7 +12603,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12720,7 +12720,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12813,7 +12813,7 @@

Source:
- src/gameobjects/Image.js line 81 + src/gameobjects/Image.js line 81 @@ -12906,7 +12906,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -13049,7 +13049,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -13216,7 +13216,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -13407,7 +13407,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13491,7 +13491,7 @@

Source:
- src/gameobjects/Button.js line 244 + src/gameobjects/Button.js line 244 @@ -13730,7 +13730,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13847,7 +13847,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -14040,7 +14040,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -14205,7 +14205,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -14325,7 +14325,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -14516,7 +14516,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14697,7 +14697,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 450 + src/gameobjects/Button.js line 450 @@ -14841,7 +14841,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -15102,7 +15102,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 320 + src/gameobjects/Button.js line 320 @@ -15283,7 +15283,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 436 + src/gameobjects/Button.js line 436 @@ -15464,7 +15464,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 422 + src/gameobjects/Button.js line 422 @@ -15701,7 +15701,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -16099,7 +16099,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 396 + src/gameobjects/Button.js line 396 @@ -16299,7 +16299,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -16480,7 +16480,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 464 + src/gameobjects/Button.js line 464 @@ -16647,7 +16647,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -16790,7 +16790,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -17003,7 +17003,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -17124,7 +17124,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -17217,7 +17217,7 @@

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

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -17500,7 +17500,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -17569,9 +17569,9 @@
Returns:

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

@@ -17588,7 +17588,7 @@
Returns:

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

@@ -17617,7 +17617,7 @@
Returns:
- + diff --git a/docs/Phaser.Cache.html b/docs/Phaser.Cache.html index f51f92589..1df91eb9d 100644 --- a/docs/Phaser.Cache.html +++ b/docs/Phaser.Cache.html @@ -6,7 +6,7 @@ Phaser CE Class: Cache - + @@ -245,7 +245,7 @@
Parameters:
Source:
- src/loader/Cache.js line 34 + src/loader/Cache.js line 34 @@ -344,7 +344,7 @@
Type:
Source:
- src/loader/Cache.js line 179 + src/loader/Cache.js line 179 @@ -415,7 +415,7 @@
Type:
Source:
- src/loader/Cache.js line 185 + src/loader/Cache.js line 185 @@ -486,7 +486,7 @@
Type:
Source:
- src/loader/Cache.js line 191 + src/loader/Cache.js line 191 @@ -557,7 +557,7 @@
Type:
Source:
- src/loader/Cache.js line 137 + src/loader/Cache.js line 137 @@ -632,7 +632,7 @@
Type:
Source:
- src/loader/Cache.js line 228 + src/loader/Cache.js line 228 @@ -707,7 +707,7 @@
Type:
Source:
- src/loader/Cache.js line 235 + src/loader/Cache.js line 235 @@ -782,7 +782,7 @@
Type:
Source:
- src/loader/Cache.js line 242 + src/loader/Cache.js line 242 @@ -853,7 +853,7 @@
Type:
Source:
- src/loader/Cache.js line 143 + src/loader/Cache.js line 143 @@ -924,7 +924,7 @@
Type:
Source:
- src/loader/Cache.js line 197 + src/loader/Cache.js line 197 @@ -999,7 +999,7 @@
Type:
Source:
- src/loader/Cache.js line 249 + src/loader/Cache.js line 249 @@ -1074,7 +1074,7 @@
Type:
Source:
- src/loader/Cache.js line 256 + src/loader/Cache.js line 256 @@ -1149,7 +1149,7 @@
Type:
Source:
- src/loader/Cache.js line 263 + src/loader/Cache.js line 263 @@ -1220,7 +1220,7 @@
Type:
Source:
- src/loader/Cache.js line 167 + src/loader/Cache.js line 167 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/loader/Cache.js line 271 + src/loader/Cache.js line 271 @@ -1373,7 +1373,7 @@
Type:
Source:
- src/loader/Cache.js line 221 + src/loader/Cache.js line 221 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/loader/Cache.js line 215 + src/loader/Cache.js line 215 @@ -1515,7 +1515,7 @@
Type:
Source:
- src/loader/Cache.js line 155 + src/loader/Cache.js line 155 @@ -1586,7 +1586,7 @@
Type:
Source:
- src/loader/Cache.js line 161 + src/loader/Cache.js line 161 @@ -1657,7 +1657,7 @@
Type:
Source:
- src/loader/Cache.js line 149 + src/loader/Cache.js line 149 @@ -1728,7 +1728,7 @@
Type:
Source:
- src/loader/Cache.js line 173 + src/loader/Cache.js line 173 @@ -1799,7 +1799,7 @@
Type:
Source:
- src/loader/Cache.js line 209 + src/loader/Cache.js line 209 @@ -1870,7 +1870,7 @@
Type:
Source:
- src/loader/Cache.js line 203 + src/loader/Cache.js line 203 @@ -1945,7 +1945,7 @@
Type:
Source:
- src/loader/Cache.js line 45 + src/loader/Cache.js line 45 @@ -2020,7 +2020,7 @@
Type:
Source:
- src/loader/Cache.js line 39 + src/loader/Cache.js line 39 @@ -2095,7 +2095,7 @@
Type:
Source:
- src/loader/Cache.js line 127 + src/loader/Cache.js line 127 @@ -2170,7 +2170,7 @@
Type:
Source:
- src/loader/Cache.js line 92 + src/loader/Cache.js line 92 @@ -2322,7 +2322,7 @@
Parameters:
Source:
- src/loader/Cache.js line 532 + src/loader/Cache.js line 532 @@ -2551,7 +2551,7 @@
Parameters:
Source:
- src/loader/Cache.js line 545 + src/loader/Cache.js line 545 @@ -2953,7 +2953,7 @@
Parameters:
Source:
- src/loader/Cache.js line 570 + src/loader/Cache.js line 570 @@ -3336,7 +3336,7 @@
Parameters:
Source:
- src/loader/Cache.js line 609 + src/loader/Cache.js line 609 @@ -3546,7 +3546,7 @@
Parameters:
Source:
- src/loader/Cache.js line 319 + src/loader/Cache.js line 319 @@ -3633,7 +3633,7 @@

Source:
- src/loader/Cache.js line 407 + src/loader/Cache.js line 407 @@ -3817,7 +3817,7 @@
Parameters:
Source:
- src/loader/Cache.js line 335 + src/loader/Cache.js line 335 @@ -4023,7 +4023,7 @@
Parameters:
Source:
- src/loader/Cache.js line 664 + src/loader/Cache.js line 664 @@ -4110,7 +4110,7 @@

Source:
- src/loader/Cache.js line 428 + src/loader/Cache.js line 428 @@ -4316,7 +4316,7 @@
Parameters:
Source:
- src/loader/Cache.js line 498 + src/loader/Cache.js line 498 @@ -4474,7 +4474,7 @@
Parameters:
Source:
- src/loader/Cache.js line 729 + src/loader/Cache.js line 729 @@ -4656,7 +4656,7 @@
Parameters:
Source:
- src/loader/Cache.js line 713 + src/loader/Cache.js line 713 @@ -4886,7 +4886,7 @@
Parameters:
Source:
- src/loader/Cache.js line 446 + src/loader/Cache.js line 446 @@ -5340,7 +5340,7 @@
Parameters:
Source:
- src/loader/Cache.js line 742 + src/loader/Cache.js line 742 @@ -5522,7 +5522,7 @@
Parameters:
Source:
- src/loader/Cache.js line 482 + src/loader/Cache.js line 482 @@ -5752,7 +5752,7 @@
Parameters:
Source:
- src/loader/Cache.js line 780 + src/loader/Cache.js line 780 @@ -5958,7 +5958,7 @@
Parameters:
Source:
- src/loader/Cache.js line 515 + src/loader/Cache.js line 515 @@ -6164,7 +6164,7 @@
Parameters:
Source:
- src/loader/Cache.js line 696 + src/loader/Cache.js line 696 @@ -6346,7 +6346,7 @@
Parameters:
Source:
- src/loader/Cache.js line 680 + src/loader/Cache.js line 680 @@ -6480,7 +6480,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1079 + src/loader/Cache.js line 1079 @@ -6638,7 +6638,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1092 + src/loader/Cache.js line 1092 @@ -6796,7 +6796,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1105 + src/loader/Cache.js line 1105 @@ -6954,7 +6954,7 @@
Parameters:
Source:
- src/loader/Cache.js line 988 + src/loader/Cache.js line 988 @@ -7112,7 +7112,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1001 + src/loader/Cache.js line 1001 @@ -7270,7 +7270,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1118 + src/loader/Cache.js line 1118 @@ -7452,7 +7452,7 @@
Parameters:
Source:
- src/loader/Cache.js line 948 + src/loader/Cache.js line 948 @@ -7610,7 +7610,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1053 + src/loader/Cache.js line 1053 @@ -7768,7 +7768,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1170 + src/loader/Cache.js line 1170 @@ -7926,7 +7926,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1157 + src/loader/Cache.js line 1157 @@ -8084,7 +8084,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1027 + src/loader/Cache.js line 1027 @@ -8242,7 +8242,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1040 + src/loader/Cache.js line 1040 @@ -8400,7 +8400,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1014 + src/loader/Cache.js line 1014 @@ -8558,7 +8558,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1066 + src/loader/Cache.js line 1066 @@ -8719,7 +8719,7 @@
Parameters:
Source:
- src/loader/Cache.js line 967 + src/loader/Cache.js line 967 @@ -8877,7 +8877,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1144 + src/loader/Cache.js line 1144 @@ -9035,7 +9035,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1131 + src/loader/Cache.js line 1131 @@ -9144,7 +9144,7 @@

Source:
- src/loader/Cache.js line 2061 + src/loader/Cache.js line 2061 @@ -9302,7 +9302,7 @@
Parameters:
Source:
- src/loader/Cache.js line 890 + src/loader/Cache.js line 890 @@ -9389,7 +9389,7 @@

Source:
- src/loader/Cache.js line 2111 + src/loader/Cache.js line 2111 @@ -9519,7 +9519,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2142 + src/loader/Cache.js line 2142 @@ -9709,7 +9709,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1590 + src/loader/Cache.js line 1590 @@ -9869,7 +9869,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1430 + src/loader/Cache.js line 1430 @@ -10029,7 +10029,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1447 + src/loader/Cache.js line 1447 @@ -10189,7 +10189,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1464 + src/loader/Cache.js line 1464 @@ -10349,7 +10349,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1225 + src/loader/Cache.js line 1225 @@ -10563,7 +10563,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1606 + src/loader/Cache.js line 1606 @@ -10813,7 +10813,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1700 + src/loader/Cache.js line 1700 @@ -11063,7 +11063,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1724 + src/loader/Cache.js line 1724 @@ -11277,7 +11277,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1622 + src/loader/Cache.js line 1622 @@ -11493,7 +11493,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1645 + src/loader/Cache.js line 1645 @@ -11713,7 +11713,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1242 + src/loader/Cache.js line 1242 @@ -11983,7 +11983,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1187 + src/loader/Cache.js line 1187 @@ -12201,7 +12201,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1481 + src/loader/Cache.js line 1481 @@ -12379,7 +12379,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1773 + src/loader/Cache.js line 1773 @@ -12632,7 +12632,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1351 + src/loader/Cache.js line 1351 @@ -12792,7 +12792,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1569 + src/loader/Cache.js line 1569 @@ -12952,7 +12952,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1552 + src/loader/Cache.js line 1552 @@ -13112,7 +13112,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1300 + src/loader/Cache.js line 1300 @@ -13272,7 +13272,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1317 + src/loader/Cache.js line 1317 @@ -13432,7 +13432,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1334 + src/loader/Cache.js line 1334 @@ -13591,7 +13591,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1285 + src/loader/Cache.js line 1285 @@ -13751,7 +13751,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1413 + src/loader/Cache.js line 1413 @@ -13911,7 +13911,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1748 + src/loader/Cache.js line 1748 @@ -14071,7 +14071,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1535 + src/loader/Cache.js line 1535 @@ -14231,7 +14231,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1518 + src/loader/Cache.js line 1518 @@ -14445,7 +14445,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1665 + src/loader/Cache.js line 1665 @@ -14603,7 +14603,7 @@
Parameters:
Source:
- src/loader/Cache.js line 907 + src/loader/Cache.js line 907 @@ -14762,7 +14762,7 @@
Parameters:
Source:
- src/loader/Cache.js line 925 + src/loader/Cache.js line 925 @@ -14920,7 +14920,7 @@
Parameters:
Source:
- src/loader/Cache.js line 830 + src/loader/Cache.js line 830 @@ -15054,7 +15054,7 @@
Parameters:
Source:
- src/loader/Cache.js line 855 + src/loader/Cache.js line 855 @@ -15190,7 +15190,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1911 + src/loader/Cache.js line 1911 @@ -15326,7 +15326,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1926 + src/loader/Cache.js line 1926 @@ -15462,7 +15462,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1941 + src/loader/Cache.js line 1941 @@ -15598,7 +15598,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1805 + src/loader/Cache.js line 1805 @@ -15791,7 +15791,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1820 + src/loader/Cache.js line 1820 @@ -15927,7 +15927,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1956 + src/loader/Cache.js line 1956 @@ -16063,7 +16063,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1881 + src/loader/Cache.js line 1881 @@ -16199,7 +16199,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2016 + src/loader/Cache.js line 2016 @@ -16335,7 +16335,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2001 + src/loader/Cache.js line 2001 @@ -16474,7 +16474,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1847 + src/loader/Cache.js line 1847 @@ -16610,7 +16610,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2031 + src/loader/Cache.js line 2031 @@ -16746,7 +16746,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1866 + src/loader/Cache.js line 1866 @@ -16882,7 +16882,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2046 + src/loader/Cache.js line 2046 @@ -17018,7 +17018,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1896 + src/loader/Cache.js line 1896 @@ -17154,7 +17154,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1986 + src/loader/Cache.js line 1986 @@ -17290,7 +17290,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1971 + src/loader/Cache.js line 1971 @@ -17516,7 +17516,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1681 + src/loader/Cache.js line 1681 @@ -17650,7 +17650,7 @@
Parameters:
Source:
- src/loader/Cache.js line 873 + src/loader/Cache.js line 873 @@ -17693,9 +17693,9 @@
Parameters:

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

@@ -17712,7 +17712,7 @@
Parameters:

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

@@ -17741,7 +17741,7 @@
Parameters:
- + diff --git a/docs/Phaser.Camera.html b/docs/Phaser.Camera.html index c5529262f..57303adc4 100644 --- a/docs/Phaser.Camera.html +++ b/docs/Phaser.Camera.html @@ -6,7 +6,7 @@ Phaser CE Class: Camera - + @@ -351,7 +351,7 @@
Parameters:
Source:
- src/core/Camera.js line 20 + src/core/Camera.js line 20 @@ -450,7 +450,7 @@
Type:
Source:
- src/core/Camera.js line 239 + src/core/Camera.js line 239 @@ -525,7 +525,7 @@
Type:
Source:
- src/core/Camera.js line 191 + src/core/Camera.js line 191 @@ -600,7 +600,7 @@
Type:
Source:
- src/core/Camera.js line 199 + src/core/Camera.js line 199 @@ -675,7 +675,7 @@
Type:
Source:
- src/core/Camera.js line 207 + src/core/Camera.js line 207 @@ -750,7 +750,7 @@
Type:
Source:
- src/core/Camera.js line 215 + src/core/Camera.js line 215 @@ -821,7 +821,7 @@
Type:
Source:
- src/core/Camera.js line 221 + src/core/Camera.js line 221 @@ -892,7 +892,7 @@
Type:
Source:
- src/core/Camera.js line 227 + src/core/Camera.js line 227 @@ -963,7 +963,7 @@
Type:
Source:
- src/core/Camera.js line 233 + src/core/Camera.js line 233 @@ -1038,7 +1038,7 @@
Type:
Source:
- src/core/Camera.js line 76 + src/core/Camera.js line 76 @@ -1115,7 +1115,7 @@
Type:
Source:
- src/core/Camera.js line 54 + src/core/Camera.js line 54 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/core/Camera.js line 59 + src/core/Camera.js line 59 @@ -1265,7 +1265,7 @@
Type:
Source:
- src/core/Camera.js line 87 + src/core/Camera.js line 87 @@ -1340,7 +1340,7 @@
Type:
Source:
- src/core/Camera.js line 135 + src/core/Camera.js line 135 @@ -1415,7 +1415,7 @@
Type:
Source:
- src/core/Camera.js line 25 + src/core/Camera.js line 25 @@ -1490,7 +1490,7 @@
Type:
Source:
- src/core/Camera.js line 912 + src/core/Camera.js line 912 @@ -1565,7 +1565,7 @@
Type:
Source:
- src/core/Camera.js line 36 + src/core/Camera.js line 36 @@ -1644,7 +1644,7 @@
Type:
Source:
- src/core/Camera.js line 109 + src/core/Camera.js line 109 @@ -1722,7 +1722,7 @@
Type:
Source:
- src/core/Camera.js line 128 + src/core/Camera.js line 128 @@ -1797,7 +1797,7 @@
Type:
Source:
- src/core/Camera.js line 119 + src/core/Camera.js line 119 @@ -1872,7 +1872,7 @@
Type:
Source:
- src/core/Camera.js line 114 + src/core/Camera.js line 114 @@ -1947,7 +1947,7 @@
Type:
Source:
- src/core/Camera.js line 863 + src/core/Camera.js line 863 @@ -2029,7 +2029,7 @@
Type:
Source:
- src/core/Camera.js line 71 + src/core/Camera.js line 71 @@ -2104,7 +2104,7 @@
Type:
Source:
- src/core/Camera.js line 92 + src/core/Camera.js line 92 @@ -2179,7 +2179,7 @@
Type:
Source:
- src/core/Camera.js line 934 + src/core/Camera.js line 934 @@ -2254,7 +2254,7 @@
Type:
Source:
- src/core/Camera.js line 82 + src/core/Camera.js line 82 @@ -2329,7 +2329,7 @@
Type:
Source:
- src/core/Camera.js line 98 + src/core/Camera.js line 98 @@ -2407,7 +2407,7 @@
Type:
Source:
- src/core/Camera.js line 45 + src/core/Camera.js line 45 @@ -2489,7 +2489,7 @@
Type:
Source:
- src/core/Camera.js line 65 + src/core/Camera.js line 65 @@ -2564,7 +2564,7 @@
Type:
Source:
- src/core/Camera.js line 891 + src/core/Camera.js line 891 @@ -2639,7 +2639,7 @@
Type:
Source:
- src/core/Camera.js line 30 + src/core/Camera.js line 30 @@ -2714,7 +2714,7 @@
Type:
Source:
- src/core/Camera.js line 813 + src/core/Camera.js line 813 @@ -2789,7 +2789,7 @@
Type:
Source:
- src/core/Camera.js line 838 + src/core/Camera.js line 838 @@ -2868,7 +2868,7 @@

Source:
- src/core/Camera.js line 669 + src/core/Camera.js line 669 @@ -3149,7 +3149,7 @@
Parameters:
Source:
- src/core/Camera.js line 451 + src/core/Camera.js line 451 @@ -3450,7 +3450,7 @@
Parameters:
Source:
- src/core/Camera.js line 409 + src/core/Camera.js line 409 @@ -3608,7 +3608,7 @@
Parameters:
Source:
- src/core/Camera.js line 343 + src/core/Camera.js line 343 @@ -3766,7 +3766,7 @@
Parameters:
Source:
- src/core/Camera.js line 354 + src/core/Camera.js line 354 @@ -4044,7 +4044,7 @@
Parameters:
Source:
- src/core/Camera.js line 277 + src/core/Camera.js line 277 @@ -4128,7 +4128,7 @@

Source:
- src/core/Camera.js line 266 + src/core/Camera.js line 266 @@ -4214,7 +4214,7 @@

Source:
- src/core/Camera.js line 769 + src/core/Camera.js line 769 @@ -4299,7 +4299,7 @@

Source:
- src/core/Camera.js line 791 + src/core/Camera.js line 791 @@ -4383,7 +4383,7 @@

Source:
- src/core/Camera.js line 655 + src/core/Camera.js line 655 @@ -4542,7 +4542,7 @@
Parameters:
Source:
- src/core/Camera.js line 735 + src/core/Camera.js line 735 @@ -4700,7 +4700,7 @@
Parameters:
Source:
- src/core/Camera.js line 755 + src/core/Camera.js line 755 @@ -5017,7 +5017,7 @@
Parameters:
Source:
- src/core/Camera.js line 366 + src/core/Camera.js line 366 @@ -5125,7 +5125,7 @@

Source:
- src/core/Camera.js line 332 + src/core/Camera.js line 332 @@ -5209,7 +5209,7 @@

Source:
- src/core/Camera.js line 498 + src/core/Camera.js line 498 @@ -5252,9 +5252,9 @@

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

@@ -5271,7 +5271,7 @@

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

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

- + diff --git a/docs/Phaser.Canvas.html b/docs/Phaser.Canvas.html index 4bb5055f3..3335cab03 100644 --- a/docs/Phaser.Canvas.html +++ b/docs/Phaser.Canvas.html @@ -6,7 +6,7 @@ Phaser CE Class: Canvas - + @@ -181,7 +181,7 @@

Source:
- src/utils/Canvas.js line 14 + src/utils/Canvas.js line 14 @@ -429,7 +429,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 109 + src/utils/Canvas.js line 109 @@ -763,7 +763,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 16 + src/utils/Canvas.js line 16 @@ -921,7 +921,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 242 + src/utils/Canvas.js line 242 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 217 + src/utils/Canvas.js line 217 @@ -1240,7 +1240,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 156 + src/utils/Canvas.js line 156 @@ -1430,7 +1430,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 47 + src/utils/Canvas.js line 47 @@ -1589,7 +1589,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 283 + src/utils/Canvas.js line 283 @@ -1748,7 +1748,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 260 + src/utils/Canvas.js line 260 @@ -1934,7 +1934,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 192 + src/utils/Canvas.js line 192 @@ -2136,7 +2136,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 65 + src/utils/Canvas.js line 65 @@ -2438,7 +2438,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 171 + src/utils/Canvas.js line 171 @@ -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.6 + phaser-ce@2.8.7 is on - GitHub + GitHub and NPM

@@ -2726,7 +2726,7 @@
Returns:

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

@@ -2755,7 +2755,7 @@
Returns:
- + diff --git a/docs/Phaser.CanvasPool.html b/docs/Phaser.CanvasPool.html index 77ec35d49..ed0cdb79b 100644 --- a/docs/Phaser.CanvasPool.html +++ b/docs/Phaser.CanvasPool.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasPool - + @@ -180,7 +180,7 @@

Source:
- src/utils/CanvasPool.js line 13 + src/utils/CanvasPool.js line 13 @@ -283,7 +283,7 @@
Type:
Source:
- src/utils/CanvasPool.js line 186 + src/utils/CanvasPool.js line 186 @@ -459,7 +459,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 15 + src/utils/CanvasPool.js line 15 @@ -567,7 +567,7 @@

Source:
- src/utils/CanvasPool.js line 58 + src/utils/CanvasPool.js line 58 @@ -671,7 +671,7 @@

Source:
- src/utils/CanvasPool.js line 153 + src/utils/CanvasPool.js line 153 @@ -779,7 +779,7 @@

Source:
- src/utils/CanvasPool.js line 129 + src/utils/CanvasPool.js line 129 @@ -938,7 +938,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 81 + src/utils/CanvasPool.js line 81 @@ -1073,7 +1073,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 105 + src/utils/CanvasPool.js line 105 @@ -1116,9 +1116,9 @@
Parameters:

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

@@ -1135,7 +1135,7 @@
Parameters:

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

@@ -1164,7 +1164,7 @@
Parameters:
- + diff --git a/docs/Phaser.Circle.html b/docs/Phaser.Circle.html index a3c8fac4f..312831e03 100644 --- a/docs/Phaser.Circle.html +++ b/docs/Phaser.Circle.html @@ -6,7 +6,7 @@ Phaser CE Class: Circle - + @@ -331,7 +331,7 @@
Parameters:
Source:
- src/geom/Circle.js line 17 + src/geom/Circle.js line 17 @@ -434,7 +434,7 @@
Type:
Source:
- src/geom/Circle.js line 412 + src/geom/Circle.js line 412 @@ -509,7 +509,7 @@
Type:
Source:
- src/geom/Circle.js line 385 + src/geom/Circle.js line 385 @@ -584,7 +584,7 @@
Type:
Source:
- src/geom/Circle.js line 258 + src/geom/Circle.js line 258 @@ -660,7 +660,7 @@
Type:
Source:
- src/geom/Circle.js line 435 + src/geom/Circle.js line 435 @@ -724,7 +724,7 @@

leftSource:
- src/geom/Circle.js line 304 + src/geom/Circle.js line 304 @@ -799,7 +799,7 @@
Type:
Source:
- src/geom/Circle.js line 281 + src/geom/Circle.js line 281 @@ -874,7 +874,7 @@
Type:
Source:
- src/geom/Circle.js line 331 + src/geom/Circle.js line 331 @@ -949,7 +949,7 @@
Type:
Source:
- src/geom/Circle.js line 358 + src/geom/Circle.js line 358 @@ -1024,7 +1024,7 @@
Type:
Source:
- src/geom/Circle.js line 54 + src/geom/Circle.js line 54 @@ -1099,7 +1099,7 @@
Type:
Source:
- src/geom/Circle.js line 26 + src/geom/Circle.js line 26 @@ -1174,7 +1174,7 @@
Type:
Source:
- src/geom/Circle.js line 31 + src/geom/Circle.js line 31 @@ -1432,7 +1432,7 @@
Parameters:
Source:
- src/geom/Circle.js line 510 + src/geom/Circle.js line 510 @@ -1638,7 +1638,7 @@
Parameters:
Source:
- src/geom/Circle.js line 458 + src/geom/Circle.js line 458 @@ -1820,7 +1820,7 @@
Parameters:
Source:
- src/geom/Circle.js line 483 + src/geom/Circle.js line 483 @@ -2003,7 +2003,7 @@
Parameters:
Source:
- src/geom/Circle.js line 496 + src/geom/Circle.js line 496 @@ -2185,7 +2185,7 @@
Parameters:
Source:
- src/geom/Circle.js line 536 + src/geom/Circle.js line 536 @@ -2293,7 +2293,7 @@

Source:
- src/geom/Circle.js line 60 + src/geom/Circle.js line 60 @@ -2545,7 +2545,7 @@
Parameters:
Source:
- src/geom/Circle.js line 205 + src/geom/Circle.js line 205 @@ -2703,7 +2703,7 @@
Parameters:
Source:
- src/geom/Circle.js line 171 + src/geom/Circle.js line 171 @@ -2885,7 +2885,7 @@
Parameters:
Source:
- src/geom/Circle.js line 192 + src/geom/Circle.js line 192 @@ -3043,7 +3043,7 @@
Parameters:
Source:
- src/geom/Circle.js line 128 + src/geom/Circle.js line 128 @@ -3201,7 +3201,7 @@
Parameters:
Source:
- src/geom/Circle.js line 140 + src/geom/Circle.js line 140 @@ -3416,7 +3416,7 @@
Parameters:
Source:
- src/geom/Circle.js line 156 + src/geom/Circle.js line 156 @@ -3524,7 +3524,7 @@

Source:
- src/geom/Circle.js line 97 + src/geom/Circle.js line 97 @@ -3706,7 +3706,7 @@
Parameters:
Source:
- src/geom/Circle.js line 219 + src/geom/Circle.js line 219 @@ -3864,7 +3864,7 @@
Parameters:
Source:
- src/geom/Circle.js line 235 + src/geom/Circle.js line 235 @@ -4038,7 +4038,7 @@
Parameters:
Source:
- src/geom/Circle.js line 72 + src/geom/Circle.js line 72 @@ -4244,7 +4244,7 @@
Parameters:
Source:
- src/geom/Circle.js line 109 + src/geom/Circle.js line 109 @@ -4352,7 +4352,7 @@

Source:
- src/geom/Circle.js line 245 + src/geom/Circle.js line 245 @@ -4419,9 +4419,9 @@
Returns:

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

@@ -4438,7 +4438,7 @@
Returns:

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

@@ -4467,7 +4467,7 @@
Returns:
- + diff --git a/docs/Phaser.Color.html b/docs/Phaser.Color.html index f2b2a9096..b4d3c83ab 100644 --- a/docs/Phaser.Color.html +++ b/docs/Phaser.Color.html @@ -6,7 +6,7 @@ Phaser CE Class: Color - + @@ -180,7 +180,7 @@

Source:
- src/utils/Color.js line 12 + src/utils/Color.js line 12 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/utils/Color.js line 1090 + src/utils/Color.js line 1090 @@ -538,7 +538,7 @@
Parameters:
Source:
- src/utils/Color.js line 1077 + src/utils/Color.js line 1077 @@ -721,7 +721,7 @@
Parameters:
Source:
- src/utils/Color.js line 1249 + src/utils/Color.js line 1249 @@ -904,7 +904,7 @@
Parameters:
Source:
- src/utils/Color.js line 1235 + src/utils/Color.js line 1235 @@ -1086,7 +1086,7 @@
Parameters:
Source:
- src/utils/Color.js line 1048 + src/utils/Color.js line 1048 @@ -1269,7 +1269,7 @@
Parameters:
Source:
- src/utils/Color.js line 1116 + src/utils/Color.js line 1116 @@ -1452,7 +1452,7 @@
Parameters:
Source:
- src/utils/Color.js line 1159 + src/utils/Color.js line 1159 @@ -1634,7 +1634,7 @@
Parameters:
Source:
- src/utils/Color.js line 1363 + src/utils/Color.js line 1363 @@ -1823,7 +1823,7 @@
Parameters:
Source:
- src/utils/Color.js line 1211 + src/utils/Color.js line 1211 @@ -2008,7 +2008,7 @@
Parameters:
Source:
- src/utils/Color.js line 1334 + src/utils/Color.js line 1334 @@ -2190,7 +2190,7 @@
Parameters:
Source:
- src/utils/Color.js line 1035 + src/utils/Color.js line 1035 @@ -2372,7 +2372,7 @@
Parameters:
Source:
- src/utils/Color.js line 1276 + src/utils/Color.js line 1276 @@ -2554,7 +2554,7 @@
Parameters:
Source:
- src/utils/Color.js line 1263 + src/utils/Color.js line 1263 @@ -2738,7 +2738,7 @@
Parameters:
Source:
- src/utils/Color.js line 1289 + src/utils/Color.js line 1289 @@ -2923,7 +2923,7 @@
Parameters:
Source:
- src/utils/Color.js line 1061 + src/utils/Color.js line 1061 @@ -3105,7 +3105,7 @@
Parameters:
Source:
- src/utils/Color.js line 1131 + src/utils/Color.js line 1131 @@ -3287,7 +3287,7 @@
Parameters:
Source:
- src/utils/Color.js line 1022 + src/utils/Color.js line 1022 @@ -3471,7 +3471,7 @@
Parameters:
Source:
- src/utils/Color.js line 1173 + src/utils/Color.js line 1173 @@ -3653,7 +3653,7 @@
Parameters:
Source:
- src/utils/Color.js line 1376 + src/utils/Color.js line 1376 @@ -3836,7 +3836,7 @@
Parameters:
Source:
- src/utils/Color.js line 1320 + src/utils/Color.js line 1320 @@ -4018,7 +4018,7 @@
Parameters:
Source:
- src/utils/Color.js line 1350 + src/utils/Color.js line 1350 @@ -4202,7 +4202,7 @@
Parameters:
Source:
- src/utils/Color.js line 1144 + src/utils/Color.js line 1144 @@ -4391,7 +4391,7 @@
Parameters:
Source:
- src/utils/Color.js line 1188 + src/utils/Color.js line 1188 @@ -4573,7 +4573,7 @@
Parameters:
Source:
- src/utils/Color.js line 1103 + src/utils/Color.js line 1103 @@ -4758,7 +4758,7 @@
Parameters:
Source:
- src/utils/Color.js line 1304 + src/utils/Color.js line 1304 @@ -4916,7 +4916,7 @@
Parameters:
Source:
- src/utils/Color.js line 726 + src/utils/Color.js line 726 @@ -5383,7 +5383,7 @@
Parameters:
Source:
- src/utils/Color.js line 470 + src/utils/Color.js line 470 @@ -5593,7 +5593,7 @@
Parameters:
Source:
- src/utils/Color.js line 97 + src/utils/Color.js line 97 @@ -5751,7 +5751,7 @@
Parameters:
Source:
- src/utils/Color.js line 962 + src/utils/Color.js line 962 @@ -5909,7 +5909,7 @@
Parameters:
Source:
- src/utils/Color.js line 974 + src/utils/Color.js line 974 @@ -6067,7 +6067,7 @@
Parameters:
Source:
- src/utils/Color.js line 1010 + src/utils/Color.js line 1010 @@ -6273,7 +6273,7 @@
Parameters:
Source:
- src/utils/Color.js line 532 + src/utils/Color.js line 532 @@ -6503,7 +6503,7 @@
Parameters:
Source:
- src/utils/Color.js line 515 + src/utils/Color.js line 515 @@ -6661,7 +6661,7 @@
Parameters:
Source:
- src/utils/Color.js line 998 + src/utils/Color.js line 998 @@ -6921,7 +6921,7 @@
Parameters:
Source:
- src/utils/Color.js line 866 + src/utils/Color.js line 866 @@ -7079,7 +7079,7 @@
Parameters:
Source:
- src/utils/Color.js line 986 + src/utils/Color.js line 986 @@ -7238,7 +7238,7 @@
Parameters:
Source:
- src/utils/Color.js line 898 + src/utils/Color.js line 898 @@ -7399,7 +7399,7 @@
Parameters:
Source:
- src/utils/Color.js line 940 + src/utils/Color.js line 940 @@ -7603,7 +7603,7 @@
Parameters:
Source:
- src/utils/Color.js line 596 + src/utils/Color.js line 596 @@ -7761,7 +7761,7 @@
Parameters:
Source:
- src/utils/Color.js line 577 + src/utils/Color.js line 577 @@ -7919,7 +7919,7 @@
Parameters:
Source:
- src/utils/Color.js line 161 + src/utils/Color.js line 161 @@ -8137,7 +8137,7 @@
Parameters:
Source:
- src/utils/Color.js line 767 + src/utils/Color.js line 767 @@ -8406,7 +8406,7 @@
Parameters:
Source:
- src/utils/Color.js line 252 + src/utils/Color.js line 252 @@ -8624,7 +8624,7 @@
Parameters:
Source:
- src/utils/Color.js line 742 + src/utils/Color.js line 742 @@ -8893,7 +8893,7 @@
Parameters:
Source:
- src/utils/Color.js line 359 + src/utils/Color.js line 359 @@ -9100,7 +9100,7 @@
Parameters:
Source:
- src/utils/Color.js line 428 + src/utils/Color.js line 428 @@ -9354,7 +9354,7 @@
Parameters:
Source:
- src/utils/Color.js line 792 + src/utils/Color.js line 792 @@ -9632,7 +9632,7 @@
Parameters:
Source:
- src/utils/Color.js line 818 + src/utils/Color.js line 818 @@ -9958,7 +9958,7 @@
Parameters:
Source:
- src/utils/Color.js line 842 + src/utils/Color.js line 842 @@ -10196,7 +10196,7 @@
Parameters:
Source:
- src/utils/Color.js line 14 + src/utils/Color.js line 14 @@ -10354,7 +10354,7 @@
Parameters:
Source:
- src/utils/Color.js line 179 + src/utils/Color.js line 179 @@ -10623,7 +10623,7 @@
Parameters:
Source:
- src/utils/Color.js line 193 + src/utils/Color.js line 193 @@ -10892,7 +10892,7 @@
Parameters:
Source:
- src/utils/Color.js line 303 + src/utils/Color.js line 303 @@ -11219,7 +11219,7 @@
Parameters:
Source:
- src/utils/Color.js line 548 + src/utils/Color.js line 548 @@ -11449,7 +11449,7 @@
Parameters:
Source:
- src/utils/Color.js line 144 + src/utils/Color.js line 144 @@ -11686,7 +11686,7 @@
Parameters:
Source:
- src/utils/Color.js line 126 + src/utils/Color.js line 126 @@ -11991,7 +11991,7 @@
Parameters:
Source:
- src/utils/Color.js line 40 + src/utils/Color.js line 40 @@ -12149,7 +12149,7 @@
Parameters:
Source:
- src/utils/Color.js line 497 + src/utils/Color.js line 497 @@ -12356,7 +12356,7 @@
Parameters:
Source:
- src/utils/Color.js line 673 + src/utils/Color.js line 673 @@ -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.6 + phaser-ce@2.8.7 is on - GitHub + GitHub and NPM

@@ -12645,7 +12645,7 @@
Returns:

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

@@ -12674,7 +12674,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Angle.html b/docs/Phaser.Component.Angle.html index b6c00539d..155db6eb8 100644 --- a/docs/Phaser.Component.Angle.html +++ b/docs/Phaser.Component.Angle.html @@ -6,7 +6,7 @@ Phaser CE Class: Angle - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Angle.js line 12 + src/gameobjects/components/Angle.js line 12 @@ -288,7 +288,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -321,9 +321,9 @@
Type:

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

@@ -340,7 +340,7 @@
Type:

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

@@ -369,7 +369,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Animation.html b/docs/Phaser.Component.Animation.html index 2783d8ef4..f90908f22 100644 --- a/docs/Phaser.Component.Animation.html +++ b/docs/Phaser.Component.Animation.html @@ -6,7 +6,7 @@ Phaser CE Class: Animation - + @@ -180,7 +180,7 @@

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

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

@@ -557,7 +557,7 @@
Returns:

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

@@ -586,7 +586,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.AutoCull.html b/docs/Phaser.Component.AutoCull.html index 3bbaba39b..0b896cc52 100644 --- a/docs/Phaser.Component.AutoCull.html +++ b/docs/Phaser.Component.AutoCull.html @@ -6,7 +6,7 @@ Phaser CE Class: AutoCull - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/AutoCull.js line 13 + src/gameobjects/components/AutoCull.js line 13 @@ -288,7 +288,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -364,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -397,9 +397,9 @@
Type:

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

@@ -416,7 +416,7 @@
Type:

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

@@ -445,7 +445,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Bounds.html b/docs/Phaser.Component.Bounds.html index b2d789679..fde3cbee2 100644 --- a/docs/Phaser.Component.Bounds.html +++ b/docs/Phaser.Component.Bounds.html @@ -6,7 +6,7 @@ Phaser CE Class: Bounds - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Bounds.js line 12 + src/gameobjects/components/Bounds.js line 12 @@ -284,7 +284,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -360,7 +360,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -436,7 +436,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -512,7 +512,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -589,7 +589,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -666,7 +666,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -742,7 +742,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -818,7 +818,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -1122,7 +1122,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -1457,7 +1457,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -1524,9 +1524,9 @@
Returns:

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

@@ -1543,7 +1543,7 @@
Returns:

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

@@ -1572,7 +1572,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.BringToTop.html b/docs/Phaser.Component.BringToTop.html index 3dc89dd82..08ccb513b 100644 --- a/docs/Phaser.Component.BringToTop.html +++ b/docs/Phaser.Component.BringToTop.html @@ -6,7 +6,7 @@ Phaser CE Class: BringToTop - + @@ -180,7 +180,7 @@

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

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

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

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -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.6 + phaser-ce@2.8.7 is on - GitHub + GitHub and NPM

@@ -704,7 +704,7 @@
Returns:

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

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

Source:
- src/gameobjects/components/Core.js line 12 + src/gameobjects/components/Core.js line 12 @@ -283,7 +283,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 19 + src/gameobjects/components/Core.js line 19 @@ -359,7 +359,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -441,7 +441,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -526,7 +526,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -601,7 +601,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -677,7 +677,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -764,7 +764,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -840,7 +840,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -915,7 +915,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -1006,7 +1006,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -1082,7 +1082,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -1160,7 +1160,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -1235,7 +1235,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -1310,7 +1310,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -1386,7 +1386,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -1463,7 +1463,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -1541,7 +1541,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -1620,7 +1620,7 @@

Source:
- src/gameobjects/components/Core.js line 61 + src/gameobjects/components/Core.js line 61 @@ -1705,7 +1705,7 @@

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

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -1873,7 +1873,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -1959,7 +1959,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -2002,9 +2002,9 @@

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

@@ -2021,7 +2021,7 @@

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

@@ -2050,7 +2050,7 @@

- + diff --git a/docs/Phaser.Component.Crop.html b/docs/Phaser.Component.Crop.html index daeb6aa56..eb0296808 100644 --- a/docs/Phaser.Component.Crop.html +++ b/docs/Phaser.Component.Crop.html @@ -6,7 +6,7 @@ Phaser CE Class: Crop - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/Crop.js line 13 + src/gameobjects/components/Crop.js line 13 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -477,7 +477,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -562,7 +562,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -605,9 +605,9 @@

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

@@ -624,7 +624,7 @@

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

@@ -653,7 +653,7 @@

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

Source:
- src/gameobjects/components/Delta.js line 12 + src/gameobjects/components/Delta.js line 12 @@ -284,7 +284,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -360,7 +360,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -435,7 +435,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -468,9 +468,9 @@
Type:

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

@@ -487,7 +487,7 @@
Type:

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

@@ -516,7 +516,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Destroy.html b/docs/Phaser.Component.Destroy.html index b96f70ff8..ba3826f72 100644 --- a/docs/Phaser.Component.Destroy.html +++ b/docs/Phaser.Component.Destroy.html @@ -6,7 +6,7 @@ Phaser CE Class: Destroy - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Destroy.js line 12 + src/gameobjects/components/Destroy.js line 12 @@ -284,7 +284,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -476,7 +476,7 @@
Parameters:
Source:
- src/gameobjects/components/Destroy.js line 37 + src/gameobjects/components/Destroy.js line 37 @@ -519,9 +519,9 @@
Parameters:

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

@@ -538,7 +538,7 @@
Parameters:

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

@@ -567,7 +567,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.FixedToCamera.html b/docs/Phaser.Component.FixedToCamera.html index 464b86c07..c9418e531 100644 --- a/docs/Phaser.Component.FixedToCamera.html +++ b/docs/Phaser.Component.FixedToCamera.html @@ -6,7 +6,7 @@ Phaser CE Class: FixedToCamera - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/FixedToCamera.js line 13 + src/gameobjects/components/FixedToCamera.js line 13 @@ -285,7 +285,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -367,7 +367,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -446,7 +446,7 @@

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

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

@@ -508,7 +508,7 @@

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

@@ -537,7 +537,7 @@

- + diff --git a/docs/Phaser.Component.Health.html b/docs/Phaser.Component.Health.html index 243545ece..d170b3d4c 100644 --- a/docs/Phaser.Component.Health.html +++ b/docs/Phaser.Component.Health.html @@ -6,7 +6,7 @@ Phaser CE Class: Health - + @@ -182,7 +182,7 @@

Source:
- src/gameobjects/components/Health.js line 14 + src/gameobjects/components/Health.js line 14 @@ -293,7 +293,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -376,7 +376,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -505,7 +505,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -663,7 +663,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -822,7 +822,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -889,9 +889,9 @@
Returns:

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

@@ -908,7 +908,7 @@
Returns:

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

@@ -937,7 +937,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.InCamera.html b/docs/Phaser.Component.InCamera.html index 651dc644c..3ae911807 100644 --- a/docs/Phaser.Component.InCamera.html +++ b/docs/Phaser.Component.InCamera.html @@ -6,7 +6,7 @@ Phaser CE Class: InCamera - + @@ -180,7 +180,7 @@

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

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

@@ -337,7 +337,7 @@
Type:

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

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

Source:
- src/gameobjects/components/InWorld.js line 14 + src/gameobjects/components/InWorld.js line 14 @@ -291,7 +291,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -366,7 +366,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -441,7 +441,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -517,7 +517,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -596,7 +596,7 @@

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

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

@@ -658,7 +658,7 @@

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

@@ -687,7 +687,7 @@

- + diff --git a/docs/Phaser.Component.InputEnabled.html b/docs/Phaser.Component.InputEnabled.html index 67da2e98c..ca29bf366 100644 --- a/docs/Phaser.Component.InputEnabled.html +++ b/docs/Phaser.Component.InputEnabled.html @@ -6,7 +6,7 @@ Phaser CE Class: InputEnabled - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/InputEnabled.js line 12 + src/gameobjects/components/InputEnabled.js line 12 @@ -288,7 +288,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -370,7 +370,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -403,9 +403,9 @@
Type:

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

@@ -422,7 +422,7 @@
Type:

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

@@ -451,7 +451,7 @@
Type:
- + diff --git a/docs/Phaser.Component.LifeSpan.html b/docs/Phaser.Component.LifeSpan.html index 448f640c3..c3c4b7104 100644 --- a/docs/Phaser.Component.LifeSpan.html +++ b/docs/Phaser.Component.LifeSpan.html @@ -6,7 +6,7 @@ Phaser CE Class: LifeSpan - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 12 + src/gameobjects/components/LifeSpan.js line 12 @@ -294,7 +294,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -373,7 +373,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -452,7 +452,7 @@

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

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -720,7 +720,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -787,9 +787,9 @@
Returns:

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

@@ -806,7 +806,7 @@
Returns:

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

@@ -835,7 +835,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.LoadTexture.html b/docs/Phaser.Component.LoadTexture.html index e2d70f859..9f60bf7c7 100644 --- a/docs/Phaser.Component.LoadTexture.html +++ b/docs/Phaser.Component.LoadTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: LoadTexture - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 12 + src/gameobjects/components/LoadTexture.js line 12 @@ -288,7 +288,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -368,7 +368,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -614,7 +614,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -698,7 +698,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -882,7 +882,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -1017,7 +1017,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -1060,9 +1060,9 @@
Parameters:

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

@@ -1079,7 +1079,7 @@
Parameters:

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

@@ -1108,7 +1108,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Overlap.html b/docs/Phaser.Component.Overlap.html index a594269dc..5b6681355 100644 --- a/docs/Phaser.Component.Overlap.html +++ b/docs/Phaser.Component.Overlap.html @@ -6,7 +6,7 @@ Phaser CE Class: Overlap - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Overlap.js line 12 + src/gameobjects/components/Overlap.js line 12 @@ -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.6 + phaser-ce@2.8.7 is on - GitHub + GitHub and NPM

@@ -434,7 +434,7 @@
Returns:

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

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

Source:
- src/gameobjects/components/PhysicsBody.js line 13 + src/gameobjects/components/PhysicsBody.js line 13 @@ -301,7 +301,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -376,7 +376,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 100 + src/gameobjects/components/PhysicsBody.js line 100 @@ -451,7 +451,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 126 + src/gameobjects/components/PhysicsBody.js line 126 @@ -530,7 +530,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 63 + src/gameobjects/components/PhysicsBody.js line 63 @@ -615,7 +615,7 @@

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

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

@@ -677,7 +677,7 @@

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

@@ -706,7 +706,7 @@

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

Source:
- src/gameobjects/components/Reset.js line 12 + src/gameobjects/components/Reset.js line 12 @@ -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.6 + phaser-ce@2.8.7 is on - GitHub + GitHub and NPM

@@ -514,7 +514,7 @@
Returns:

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

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

Source:
- src/gameobjects/components/ScaleMinMax.js line 12 + src/gameobjects/components/ScaleMinMax.js line 12 @@ -285,7 +285,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -362,7 +362,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -437,7 +437,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -512,7 +512,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -734,7 +734,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -777,9 +777,9 @@
Parameters:

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

@@ -796,7 +796,7 @@
Parameters:

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

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

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

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

@@ -337,7 +337,7 @@
Type:

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

@@ -366,7 +366,7 @@
Type:
- + diff --git a/docs/Phaser.Create.html b/docs/Phaser.Create.html index 52fca66aa..f92f69427 100644 --- a/docs/Phaser.Create.html +++ b/docs/Phaser.Create.html @@ -6,7 +6,7 @@ Phaser CE Class: Create - + @@ -233,7 +233,7 @@
Parameters:
Source:
- src/core/Create.js line 18 + src/core/Create.js line 18 @@ -336,7 +336,7 @@
Type:
Source:
- src/core/Create.js line 58 + src/core/Create.js line 58 @@ -411,7 +411,7 @@
Type:
Source:
- src/core/Create.js line 79 + src/core/Create.js line 79 @@ -486,7 +486,7 @@
Type:
Source:
- src/core/Create.js line 72 + src/core/Create.js line 72 @@ -561,7 +561,7 @@
Type:
Source:
- src/core/Create.js line 86 + src/core/Create.js line 86 @@ -636,7 +636,7 @@
Type:
Source:
- src/core/Create.js line 65 + src/core/Create.js line 65 @@ -711,7 +711,7 @@
Type:
Source:
- src/core/Create.js line 28 + src/core/Create.js line 28 @@ -786,7 +786,7 @@
Type:
Source:
- src/core/Create.js line 33 + src/core/Create.js line 33 @@ -899,7 +899,7 @@
Properties:
Source:
- src/core/Create.js line 38 + src/core/Create.js line 38 @@ -974,7 +974,7 @@
Type:
Source:
- src/core/Create.js line 23 + src/core/Create.js line 23 @@ -1049,7 +1049,7 @@
Type:
Source:
- src/core/Create.js line 43 + src/core/Create.js line 43 @@ -1431,7 +1431,7 @@
Parameters:
Source:
- src/core/Create.js line 227 + src/core/Create.js line 227 @@ -1903,7 +1903,7 @@
Parameters:
Source:
- src/core/Create.js line 168 + src/core/Create.js line 168 @@ -2366,7 +2366,7 @@
Parameters:
Source:
- src/core/Create.js line 90 + src/core/Create.js line 90 @@ -2436,9 +2436,9 @@
Returns:

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

@@ -2455,7 +2455,7 @@
Returns:

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

@@ -2484,7 +2484,7 @@
Returns:
- + diff --git a/docs/Phaser.Creature.html b/docs/Phaser.Creature.html index 07847f9fd..ecc59be00 100644 --- a/docs/Phaser.Creature.html +++ b/docs/Phaser.Creature.html @@ -6,7 +6,7 @@ Phaser CE Class: Creature - + @@ -440,7 +440,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 176 + src/gameobjects/Creature.js line 176 @@ -592,7 +592,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -672,7 +672,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 823 + src/gameobjects/Creature.js line 823 @@ -747,7 +747,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 710 + src/gameobjects/Creature.js line 710 @@ -822,7 +822,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 757 + src/gameobjects/Creature.js line 757 @@ -911,7 +911,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -986,7 +986,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 208 + src/gameobjects/Creature.js line 208 @@ -1071,7 +1071,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1166,7 +1166,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1257,7 +1257,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1342,7 +1342,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1426,7 +1426,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1501,7 +1501,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 281 + src/gameobjects/Creature.js line 281 @@ -1585,7 +1585,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1660,7 +1660,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 250 + src/gameobjects/Creature.js line 250 @@ -1735,7 +1735,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 244 + src/gameobjects/Creature.js line 244 @@ -1829,7 +1829,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -1913,7 +1913,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -1998,7 +1998,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2083,7 +2083,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2179,7 +2179,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2263,7 +2263,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2352,7 +2352,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2443,7 +2443,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2528,7 +2528,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2608,7 +2608,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 181 + src/gameobjects/Creature.js line 181 @@ -2683,7 +2683,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 657 + src/gameobjects/Creature.js line 657 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2863,7 +2863,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2948,7 +2948,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3019,7 +3019,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 270 + src/gameobjects/Creature.js line 270 @@ -3108,7 +3108,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3199,7 +3199,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3274,7 +3274,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 617 + src/gameobjects/Creature.js line 617 @@ -3374,7 +3374,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3462,7 +3462,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -3537,7 +3537,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 637 + src/gameobjects/Creature.js line 637 @@ -3612,7 +3612,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 213 + src/gameobjects/Creature.js line 213 @@ -3699,7 +3699,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3784,7 +3784,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -3871,7 +3871,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3958,7 +3958,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4043,7 +4043,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4129,7 +4129,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4213,7 +4213,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4297,7 +4297,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -4382,7 +4382,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4467,7 +4467,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -4554,7 +4554,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -4641,7 +4641,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4716,7 +4716,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 233 + src/gameobjects/Creature.js line 233 @@ -4798,7 +4798,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 219 + src/gameobjects/Creature.js line 219 @@ -4873,7 +4873,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 804 + src/gameobjects/Creature.js line 804 @@ -4948,7 +4948,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 189 + src/gameobjects/Creature.js line 189 @@ -5023,7 +5023,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 264 + src/gameobjects/Creature.js line 264 @@ -5098,7 +5098,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 258 + src/gameobjects/Creature.js line 258 @@ -5194,7 +5194,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -5269,7 +5269,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 683 + src/gameobjects/Creature.js line 683 @@ -5355,7 +5355,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5445,7 +5445,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5534,7 +5534,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5623,7 +5623,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5712,7 +5712,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5801,7 +5801,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5885,7 +5885,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5970,7 +5970,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6055,7 +6055,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6142,7 +6142,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -6279,7 +6279,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6470,7 +6470,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -6590,7 +6590,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -6757,7 +6757,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -6857,7 +6857,7 @@

Source:
- src/gameobjects/Creature.js line 853 + src/gameobjects/Creature.js line 853 @@ -6957,7 +6957,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -7202,7 +7202,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -7386,7 +7386,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -7553,7 +7553,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -7720,7 +7720,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -7837,7 +7837,7 @@

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

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -8078,7 +8078,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -8198,7 +8198,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -8376,7 +8376,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 587 + src/gameobjects/Creature.js line 587 @@ -8469,7 +8469,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -8558,7 +8558,7 @@

Source:
- src/gameobjects/Creature.js line 323 + src/gameobjects/Creature.js line 323 @@ -8651,7 +8651,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -8794,7 +8794,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -8961,7 +8961,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -9152,7 +9152,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -9391,7 +9391,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -9580,7 +9580,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -9700,7 +9700,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -9808,7 +9808,7 @@

Source:
- src/gameobjects/Creature.js line 842 + src/gameobjects/Creature.js line 842 @@ -9942,7 +9942,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 556 + src/gameobjects/Creature.js line 556 @@ -10076,7 +10076,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 572 + src/gameobjects/Creature.js line 572 @@ -10243,7 +10243,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -10327,7 +10327,7 @@

Source:
- src/gameobjects/Creature.js line 605 + src/gameobjects/Creature.js line 605 @@ -10494,7 +10494,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -10637,7 +10637,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -10850,7 +10850,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -10971,7 +10971,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -11064,7 +11064,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -11253,7 +11253,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -11322,9 +11322,9 @@
Returns:

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

@@ -11341,7 +11341,7 @@
Returns:

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

@@ -11370,7 +11370,7 @@
Returns:
- + diff --git a/docs/Phaser.DOM.html b/docs/Phaser.DOM.html index 59f729773..6ae780bd1 100644 --- a/docs/Phaser.DOM.html +++ b/docs/Phaser.DOM.html @@ -6,7 +6,7 @@ Phaser CE Class: DOM - + @@ -183,7 +183,7 @@

Source:
- src/utils/DOM.js line 18 + src/utils/DOM.js line 18 @@ -365,7 +365,7 @@
Properties:
Source:
- src/utils/DOM.js line 274 + src/utils/DOM.js line 274 @@ -525,7 +525,7 @@
Properties:
Source:
- src/utils/DOM.js line 260 + src/utils/DOM.js line 260 @@ -600,7 +600,7 @@
Type:
Source:
- src/utils/DOM.js line 289 + src/utils/DOM.js line 289 @@ -675,7 +675,7 @@
Type:
Source:
- src/utils/DOM.js line 301 + src/utils/DOM.js line 301 @@ -880,7 +880,7 @@
Properties:
Source:
- src/utils/DOM.js line 239 + src/utils/DOM.js line 239 @@ -1031,7 +1031,7 @@
Parameters:
Source:
- src/utils/DOM.js line 100 + src/utils/DOM.js line 100 @@ -1240,7 +1240,7 @@
Parameters:
Source:
- src/utils/DOM.js line 48 + src/utils/DOM.js line 48 @@ -1446,7 +1446,7 @@
Parameters:
Source:
- src/utils/DOM.js line 20 + src/utils/DOM.js line 20 @@ -1645,7 +1645,7 @@
Parameters:
Source:
- src/utils/DOM.js line 149 + src/utils/DOM.js line 149 @@ -1829,7 +1829,7 @@
Parameters:
Source:
- src/utils/DOM.js line 128 + src/utils/DOM.js line 128 @@ -1896,9 +1896,9 @@
Returns:

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

@@ -1915,7 +1915,7 @@
Returns:

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

@@ -1944,7 +1944,7 @@
Returns:
- + diff --git a/docs/Phaser.Device.html b/docs/Phaser.Device.html index ae2a6be22..d22992441 100644 --- a/docs/Phaser.Device.html +++ b/docs/Phaser.Device.html @@ -6,7 +6,7 @@ Phaser CE Class: Device - + @@ -191,7 +191,7 @@

Source:
- src/utils/Device.js line 30 + src/utils/Device.js line 30 @@ -298,7 +298,7 @@
Type:
Source:
- src/utils/Device.js line 561 + src/utils/Device.js line 561 @@ -373,7 +373,7 @@
Type:
Source:
- src/utils/Device.js line 118 + src/utils/Device.js line 118 @@ -448,7 +448,7 @@
Type:
Source:
- src/utils/Device.js line 274 + src/utils/Device.js line 274 @@ -523,7 +523,7 @@
Type:
Source:
- src/utils/Device.js line 384 + src/utils/Device.js line 384 @@ -598,7 +598,7 @@
Type:
Source:
- src/utils/Device.js line 535 + src/utils/Device.js line 535 @@ -673,7 +673,7 @@
Type:
Source:
- src/utils/Device.js line 169 + src/utils/Device.js line 169 @@ -749,7 +749,7 @@
Type:
Source:
- src/utils/Device.js line 179 + src/utils/Device.js line 179 @@ -824,7 +824,7 @@
Type:
Source:
- src/utils/Device.js line 156 + src/utils/Device.js line 156 @@ -899,7 +899,7 @@
Type:
Source:
- src/utils/Device.js line 162 + src/utils/Device.js line 162 @@ -974,7 +974,7 @@
Type:
Source:
- src/utils/Device.js line 280 + src/utils/Device.js line 280 @@ -1049,7 +1049,7 @@
Type:
Source:
- src/utils/Device.js line 124 + src/utils/Device.js line 124 @@ -1124,7 +1124,7 @@
Type:
Source:
- src/utils/Device.js line 286 + src/utils/Device.js line 286 @@ -1199,7 +1199,7 @@
Type:
Source:
- src/utils/Device.js line 70 + src/utils/Device.js line 70 @@ -1274,7 +1274,7 @@
Type:
Source:
- src/utils/Device.js line 76 + src/utils/Device.js line 76 @@ -1349,7 +1349,7 @@
Type:
Source:
- src/utils/Device.js line 82 + src/utils/Device.js line 82 @@ -1424,7 +1424,7 @@
Type:
Source:
- src/utils/Device.js line 112 + src/utils/Device.js line 112 @@ -1499,7 +1499,7 @@
Type:
Source:
- src/utils/Device.js line 215 + src/utils/Device.js line 215 @@ -1574,7 +1574,7 @@
Type:
Source:
- src/utils/Device.js line 52 + src/utils/Device.js line 52 @@ -1649,7 +1649,7 @@
Type:
Source:
- src/utils/Device.js line 37 + src/utils/Device.js line 37 @@ -1724,7 +1724,7 @@
Type:
Source:
- src/utils/Device.js line 433 + src/utils/Device.js line 433 @@ -1799,7 +1799,7 @@
Type:
Source:
- src/utils/Device.js line 334 + src/utils/Device.js line 334 @@ -1874,7 +1874,7 @@
Type:
Source:
- src/utils/Device.js line 106 + src/utils/Device.js line 106 @@ -1949,7 +1949,7 @@
Type:
Source:
- src/utils/Device.js line 100 + src/utils/Device.js line 100 @@ -2024,7 +2024,7 @@
Type:
Source:
- src/utils/Device.js line 292 + src/utils/Device.js line 292 @@ -2099,7 +2099,7 @@
Type:
Source:
- src/utils/Device.js line 191 + src/utils/Device.js line 191 @@ -2174,7 +2174,7 @@
Type:
Source:
- src/utils/Device.js line 197 + src/utils/Device.js line 197 @@ -2249,7 +2249,7 @@
Type:
Source:
- src/utils/Device.js line 298 + src/utils/Device.js line 298 @@ -2324,7 +2324,7 @@
Type:
Source:
- src/utils/Device.js line 304 + src/utils/Device.js line 304 @@ -2399,7 +2399,7 @@
Type:
Source:
- src/utils/Device.js line 523 + src/utils/Device.js line 523 @@ -2474,7 +2474,7 @@
Type:
Source:
- src/utils/Device.js line 541 + src/utils/Device.js line 541 @@ -2556,7 +2556,7 @@
Type:
Source:
- src/utils/Device.js line 239 + src/utils/Device.js line 239 @@ -2631,7 +2631,7 @@
Type:
Source:
- src/utils/Device.js line 447 + src/utils/Device.js line 447 @@ -2706,7 +2706,7 @@
Type:
Source:
- src/utils/Device.js line 471 + src/utils/Device.js line 471 @@ -2781,7 +2781,7 @@
Type:
Source:
- src/utils/Device.js line 310 + src/utils/Device.js line 310 @@ -2856,7 +2856,7 @@
Type:
Source:
- src/utils/Device.js line 316 + src/utils/Device.js line 316 @@ -2931,7 +2931,7 @@
Type:
Source:
- src/utils/Device.js line 44 + src/utils/Device.js line 44 @@ -3006,7 +3006,7 @@
Type:
Source:
- src/utils/Device.js line 58 + src/utils/Device.js line 58 @@ -3081,7 +3081,7 @@
Type:
Source:
- src/utils/Device.js line 64 + src/utils/Device.js line 64 @@ -3156,7 +3156,7 @@
Type:
Source:
- src/utils/Device.js line 491 + src/utils/Device.js line 491 @@ -3231,7 +3231,7 @@
Type:
Source:
- src/utils/Device.js line 479 + src/utils/Device.js line 479 @@ -3306,7 +3306,7 @@
Type:
Source:
- src/utils/Device.js line 485 + src/utils/Device.js line 485 @@ -3381,7 +3381,7 @@
Type:
Source:
- src/utils/Device.js line 130 + src/utils/Device.js line 130 @@ -3456,7 +3456,7 @@
Type:
Source:
- src/utils/Device.js line 511 + src/utils/Device.js line 511 @@ -3531,7 +3531,7 @@
Type:
Source:
- src/utils/Device.js line 505 + src/utils/Device.js line 505 @@ -3606,7 +3606,7 @@
Type:
Source:
- src/utils/Device.js line 203 + src/utils/Device.js line 203 @@ -3681,7 +3681,7 @@
Type:
Source:
- src/utils/Device.js line 421 + src/utils/Device.js line 421 @@ -3756,7 +3756,7 @@
Type:
Source:
- src/utils/Device.js line 136 + src/utils/Device.js line 136 @@ -3831,7 +3831,7 @@
Type:
Source:
- src/utils/Device.js line 346 + src/utils/Device.js line 346 @@ -3906,7 +3906,7 @@
Type:
Source:
- src/utils/Device.js line 340 + src/utils/Device.js line 340 @@ -3981,7 +3981,7 @@
Type:
Source:
- src/utils/Device.js line 408 + src/utils/Device.js line 408 @@ -4056,7 +4056,7 @@
Type:
Source:
- src/utils/Device.js line 453 + src/utils/Device.js line 453 @@ -4131,7 +4131,7 @@
Type:
Source:
- src/utils/Device.js line 259 + src/utils/Device.js line 259 @@ -4206,7 +4206,7 @@
Type:
Source:
- src/utils/Device.js line 88 + src/utils/Device.js line 88 @@ -4281,7 +4281,7 @@
Type:
Source:
- src/utils/Device.js line 94 + src/utils/Device.js line 94 @@ -4356,7 +4356,7 @@
Type:
Source:
- src/utils/Device.js line 396 + src/utils/Device.js line 396 @@ -4431,7 +4431,7 @@
Type:
Source:
- src/utils/Device.js line 441 + src/utils/Device.js line 441 @@ -4506,7 +4506,7 @@
Type:
Source:
- src/utils/Device.js line 352 + src/utils/Device.js line 352 @@ -4581,7 +4581,7 @@
Type:
Source:
- src/utils/Device.js line 402 + src/utils/Device.js line 402 @@ -4656,7 +4656,7 @@
Type:
Source:
- src/utils/Device.js line 499 + src/utils/Device.js line 499 @@ -4731,7 +4731,7 @@
Type:
Source:
- src/utils/Device.js line 221 + src/utils/Device.js line 221 @@ -4806,7 +4806,7 @@
Type:
Source:
- src/utils/Device.js line 245 + src/utils/Device.js line 245 @@ -4881,7 +4881,7 @@
Type:
Source:
- src/utils/Device.js line 529 + src/utils/Device.js line 529 @@ -4956,7 +4956,7 @@
Type:
Source:
- src/utils/Device.js line 358 + src/utils/Device.js line 358 @@ -5031,7 +5031,7 @@
Type:
Source:
- src/utils/Device.js line 364 + src/utils/Device.js line 364 @@ -5106,7 +5106,7 @@
Type:
Source:
- src/utils/Device.js line 376 + src/utils/Device.js line 376 @@ -5181,7 +5181,7 @@
Type:
Source:
- src/utils/Device.js line 517 + src/utils/Device.js line 517 @@ -5256,7 +5256,7 @@
Type:
Source:
- src/utils/Device.js line 253 + src/utils/Device.js line 253 @@ -5331,7 +5331,7 @@
Type:
Source:
- src/utils/Device.js line 322 + src/utils/Device.js line 322 @@ -5406,7 +5406,7 @@
Type:
Source:
- src/utils/Device.js line 328 + src/utils/Device.js line 328 @@ -5481,7 +5481,7 @@
Type:
Source:
- src/utils/Device.js line 227 + src/utils/Device.js line 227 @@ -5556,7 +5556,7 @@
Type:
Source:
- src/utils/Device.js line 233 + src/utils/Device.js line 233 @@ -5631,7 +5631,7 @@
Type:
Source:
- src/utils/Device.js line 465 + src/utils/Device.js line 465 @@ -5706,7 +5706,7 @@
Type:
Source:
- src/utils/Device.js line 414 + src/utils/Device.js line 414 @@ -5781,7 +5781,7 @@
Type:
Source:
- src/utils/Device.js line 370 + src/utils/Device.js line 370 @@ -5856,7 +5856,7 @@
Type:
Source:
- src/utils/Device.js line 390 + src/utils/Device.js line 390 @@ -5931,7 +5931,7 @@
Type:
Source:
- src/utils/Device.js line 185 + src/utils/Device.js line 185 @@ -6006,7 +6006,7 @@
Type:
Source:
- src/utils/Device.js line 427 + src/utils/Device.js line 427 @@ -6081,7 +6081,7 @@
Type:
Source:
- src/utils/Device.js line 459 + src/utils/Device.js line 459 @@ -6204,7 +6204,7 @@
Properties:
Source:
- src/utils/Device.js line 266 + src/utils/Device.js line 266 @@ -6279,7 +6279,7 @@
Type:
Source:
- src/utils/Device.js line 142 + src/utils/Device.js line 142 @@ -6354,7 +6354,7 @@
Type:
Source:
- src/utils/Device.js line 148 + src/utils/Device.js line 148 @@ -6429,7 +6429,7 @@
Type:
Source:
- src/utils/Device.js line 209 + src/utils/Device.js line 209 @@ -6655,7 +6655,7 @@
Parameters:
Source:
- src/utils/Device.js line 577 + src/utils/Device.js line 577 @@ -6789,7 +6789,7 @@
Parameters:
Source:
- src/utils/Device.js line 1313 + src/utils/Device.js line 1313 @@ -6947,7 +6947,7 @@
Parameters:
Source:
- src/utils/Device.js line 1356 + src/utils/Device.js line 1356 @@ -7057,7 +7057,7 @@

Source:
- src/utils/Device.js line 1414 + src/utils/Device.js line 1414 @@ -7156,7 +7156,7 @@

Source:
- src/utils/Device.js line 1398 + src/utils/Device.js line 1398 @@ -7251,7 +7251,7 @@

Source:
- src/utils/Device.js line 1387 + src/utils/Device.js line 1387 @@ -7314,9 +7314,9 @@
Returns:

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

@@ -7333,7 +7333,7 @@
Returns:

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

@@ -7362,7 +7362,7 @@
Returns:
- + diff --git a/docs/Phaser.DeviceButton.html b/docs/Phaser.DeviceButton.html index 4c2ba3374..c305d7eba 100644 --- a/docs/Phaser.DeviceButton.html +++ b/docs/Phaser.DeviceButton.html @@ -6,7 +6,7 @@ Phaser CE Class: DeviceButton - + @@ -142,8 +142,8 @@

On Gamepads they represent all buttons on the pad: from shoulder buttons to action buttons.

At the time of writing this there are device limitations you should be aware of: