diff --git a/build/custom/creature.min.js b/build/custom/creature.min.js index c8e5a1897..0a463df09 100644 --- a/build/custom/creature.min.js +++ b/build/custom/creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.10.3 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.4 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 0d0e09a0b..8b4f37329 100644 --- a/build/custom/p2.min.js +++ b/build/custom/p2.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.10.3 P2.JS Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.4 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 g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=b*m+T*v+C,E=w*v+_*m+S,A=b*g+T*v+C,M=w*v+_*g+S,R=b*g+T*y+C,L=w*y+_*g+S,O=b*m+T*y+C,I=w*y+_*m+S;c=P,d=E,u=E,l=O<(l=R<(l=A<(l=P)?A:l)?R:l)?O:l,u=I<(u=L<(u=M(c=R>(c=A>c?A:c)?R:c)?O:c,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=u,f.width=c-l,f.height=d-u,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(f=x>f?x:f)?_:f)?w:f)?S:f,g=P>(g=C>(g=T>(g=b>g?b:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,u,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,u=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,u=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,T=o.tx,w=o.ty,C=(i.crop.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,O=this.positions,I=t.tint,k=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[g++]=v*l+b*c+T|0,O[g++]=_*c+x*l+w|0,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T|0,O[g++]=_*c+x*h+w|0,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T|0,O[g++]=_*u+x*h+w|0,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T|0,O[g++]=_*u+x*l+w|0,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y):(O[g++]=v*l+b*c+T,O[g++]=_*c+x*l+w,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T,O[g++]=_*c+x*h+w,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T,O[g++]=_*u+x*h+w,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T,O[g++]=_*u+x*l+w,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),u=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-u,o.x1=1*c-l,o.y1=0-u,o.x2=1*c-l,o.y2=1*d-u,o.x3=0-l,o.y3=1*d-u;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),T=y*-x,w=v*(1-b),C=v*-b,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,M=E.b/P,R=E.c/P,L=E.d/P,O=E.tx,I=E.ty;g[S++]=A*T+R*C+O,g[S++]=L*C+M*T+I,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*_+R*C+O,g[S++]=L*C+M*_+I,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*_+R*w+O,g[S++]=L*w+M*_+I,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+R*w+O,g[S++]=L*w+M*T+I,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,l,u),u=m,l=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.3",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)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,u=a+o*n,c=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),p=o*c+a,f=o*d+a,g=new i.Point(c,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},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&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,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.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,u=e.bottom,c=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,u,l,u),r[2].setTo(a,h,a,u),r[3].setTo(l,h,l,u);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,u),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,u,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof u&&(this._rotate=u),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=u=t[0],l=c=t[1];for(var g=s;gu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return 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*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),O.push(D),s=0;sh?r:h,l=ou?o:u;s.push(a,l,h,l,h,u,a,u);var d=s.length/2;for(c=0;cP?P:S,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),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);c.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},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?m:T,T=v>T?v:T,T=b>T?b:T,w=y>w?y:w,w=x>w?x:w,w=_>w?_:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},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 g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var u=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(u+=i[c-1]),l=u+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[c]):l+=Math.ceil(this.context.measureText(h[c]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},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 g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);u[c]=m,h+=g}var y=u[c].length?c:c+1,v=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},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:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end: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,this._data.base.dirty()}}),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=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,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=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=g*u+l*y+m*c-u*y-l*m-g*c,L=g*x*c+v*u*y+l*m*b-l*x*y-v*m*c-g*u*b,O=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/A,O/A,R/A,I/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(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>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,T=b>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?b:T;var S=this._bounds;return S.x=w,S.width=_-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(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=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},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.updateColor=function(t){i.Color.updateColor(t.target)},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),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(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,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var 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.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._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,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.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),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._sound.loop=this.loop,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.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._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.currentMarker&&(this.loop?this._sound.loop=!0: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.currentMarker?this._sound.start(0,t):this._sound.start(0,t,e):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.onTouchUnlock=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(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.input.onUp.addOnce(this.resumeWebAudio,this);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var 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.currentColor=null,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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,u=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return i.Color.getColor32(r,l,u,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,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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},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&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,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,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},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=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=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+'"'),console.log("Tilesets: ",this.tilesets),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,g=0,m=0,y=a;y1)for(c=0;cthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===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},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;m++,v--,f+=u){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var T=_[g];if(T&&!(T.index<0)){var w=T.index,C=c[w];void 0===C&&(C=this.resolveTileset(w)),T.alpha===d||this.debug||(o.globalAlpha=T.alpha,d=T.alpha),C?T.rotation||T.flipped?(o.save(),o.translate(p+T.centerX,f+T.centerY),o.rotate(T.rotation),T.flipped&&o.scale(-1,1),C.draw(o,-T.centerX,-T.centerY,w),o.restore()):C.draw(o,p,f,w):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,u)),T.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,u))}}}},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),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,g,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=m-g,t=x;n>=0;i++,n--,t+=p){i>=c&&(i-=c);var C=w[i];!C||C.index<0||!C.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),C.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),C.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),C.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),C.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(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;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}D={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(D.properties=r.properties);for(var u,c,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(E>2147483648&&(E-=2147483648,d+=4),E>1073741824&&(E-=1073741824,d+=2),E>536870912&&(E-=536870912,d+=1),d){case 5:u=Math.PI/2;break;case 6:u=Math.PI;break;case 3:u=3*Math.PI/2;break;case 4:u=0,c=!0;break;case 7:u=Math.PI/2,c=!0;break;case 2:u=Math.PI,c=!0;break;case 1:u=3*Math.PI/2,c=!0}E>0?((F=new i.Tile(D,E,p,g.length,t.tilewidth,t.tileheight)).rotation=u,F.flipped=c,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},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.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},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.game&&(this.bullets=null),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 g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),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.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.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 g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=b*m+T*v+C,E=w*v+_*m+S,A=b*g+T*v+C,M=w*v+_*g+S,R=b*g+T*y+C,L=w*y+_*g+S,O=b*m+T*y+C,I=w*y+_*m+S;c=P,d=E,u=E,l=O<(l=R<(l=A<(l=P)?A:l)?R:l)?O:l,u=I<(u=L<(u=M(c=R>(c=A>c?A:c)?R:c)?O:c,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=u,f.width=c-l,f.height=d-u,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(f=x>f?x:f)?_:f)?w:f)?S:f,g=P>(g=C>(g=T>(g=b>g?b:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,u,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,u=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,u=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,T=o.tx,w=o.ty,C=(i.crop.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,O=this.positions,I=t.tint,k=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[g++]=v*l+b*c+T|0,O[g++]=_*c+x*l+w|0,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T|0,O[g++]=_*c+x*h+w|0,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T|0,O[g++]=_*u+x*h+w|0,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T|0,O[g++]=_*u+x*l+w|0,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y):(O[g++]=v*l+b*c+T,O[g++]=_*c+x*l+w,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T,O[g++]=_*c+x*h+w,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T,O[g++]=_*u+x*h+w,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T,O[g++]=_*u+x*l+w,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),u=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-u,o.x1=1*c-l,o.y1=0-u,o.x2=1*c-l,o.y2=1*d-u,o.x3=0-l,o.y3=1*d-u;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),T=y*-x,w=v*(1-b),C=v*-b,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,M=E.b/P,R=E.c/P,L=E.d/P,O=E.tx,I=E.ty;g[S++]=A*T+R*C+O,g[S++]=L*C+M*T+I,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*_+R*C+O,g[S++]=L*C+M*_+I,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*_+R*w+O,g[S++]=L*w+M*_+I,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+R*w+O,g[S++]=L*w+M*T+I,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,l,u),u=m,l=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.4",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)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,u=a+o*n,c=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),p=o*c+a,f=o*d+a,g=new i.Point(c,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},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.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(e)*this.width,t.y=this.centerY+.5*s*Math.sin(e)*this.height,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&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,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.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,u=e.bottom,c=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,u,l,u),r[2].setTo(a,h,a,u),r[3].setTo(l,h,l,u);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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,t);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,u),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,u,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof u&&(this._rotate=u),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=u=t[0],l=c=t[1];for(var g=s;gu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return 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*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),O.push(D),s=0;sh?r:h,l=ou?o:u;s.push(a,l,h,l,h,u,a,u);var d=s.length/2;for(c=0;cP?P:S,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),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);c.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},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({x:t,y:e,width:s,height:n,type:i.ELLIPSE}),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?m:T,T=v>T?v:T,T=b>T?b:T,w=y>w?y:w,w=x>w?x:w,w=_>w?_:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},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 g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var u=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(u+=i[c-1]),l=u+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[c]):l+=Math.ceil(this.context.measureText(h[c]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},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 g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);u[c]=m,h+=g}var y=u[c].length?c:c+1,v=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},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],s=this.testString||"|MÉq";if(!e){e={};var n=i.Text.fontPropertiesCanvas,r=i.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return e.ascent=a,e.descent=a+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var l,u,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(u=0;u0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*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,this._data.base.dirty()}}),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=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,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=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=g*u+l*y+m*c-u*y-l*m-g*c,L=g*x*c+v*u*y+l*m*b-l*x*y-v*m*c-g*u*b,O=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/A,O/A,R/A,I/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(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>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,T=b>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?b:T;var S=this._bounds;return S.x=w,S.width=_-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(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=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},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.updateColor=function(t){i.Color.updateColor(t.target)},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),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(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.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},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,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var 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.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._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,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.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),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._sound.onended=null,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._sound.loop=this.loop,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.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._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.currentMarker&&(this.loop?this._sound.loop=!0: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.currentMarker?this._sound.start(0,t):this._sound.start(0,t,e):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.onTouchUnlock=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(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.input.onUp.addOnce(this.resumeWebAudio,this);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var 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.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.GEOM_AUTO=0,i.Utils.Debug.GEOM_RECTANGLE=1,i.Utils.Debug.GEOM_CIRCLE=2,i.Utils.Debug.GEOM_POINT=3,i.Utils.Debug.GEOM_LINE=4,i.Utils.Debug.GEOM_ELLIPSE=5,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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,u=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return i.Color.getColor32(r,l,u,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,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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},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&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,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,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},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=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=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+'"'),console.log("Tilesets: ",this.tilesets),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,g=0,m=0,y=a;y1)for(c=0;cthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===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},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;m++,v--,f+=u){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var T=_[g];if(T&&!(T.index<0)){var w=T.index,C=c[w];void 0===C&&(C=this.resolveTileset(w)),T.alpha===d||this.debug||(o.globalAlpha=T.alpha,d=T.alpha),C?T.rotation||T.flipped?(o.save(),o.translate(p+T.centerX,f+T.centerY),o.rotate(T.rotation),T.flipped&&o.scale(-1,1),C.draw(o,-T.centerX,-T.centerY,w),o.restore()):C.draw(o,p,f,w):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,u)),T.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,u))}}}},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),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,g,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=m-g,t=x;n>=0;i++,n--,t+=p){i>=c&&(i-=c);var C=w[i];!C||C.index<0||!C.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),C.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),C.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),C.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),C.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(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;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}D={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(D.properties=r.properties);for(var u,c,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(E>2147483648&&(E-=2147483648,d+=4),E>1073741824&&(E-=1073741824,d+=2),E>536870912&&(E-=536870912,d+=1),d){case 5:u=Math.PI/2;break;case 6:u=Math.PI;break;case 3:u=3*Math.PI/2;break;case 4:u=0,c=!0;break;case 7:u=Math.PI/2,c=!0;break;case 2:u=Math.PI,c=!0;break;case 1:u=3*Math.PI/2,c=!0}E>0?((F=new i.Tile(D,E,p,g.length,t.tilewidth,t.tileheight)).rotation=u,F.flipped=c,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},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.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},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.game&&(this.bullets=null),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 g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),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.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.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 d1dd2693f..538ee9ebe 100644 --- a/build/custom/phaser-creature.js +++ b/build/custom/phaser-creature.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.10.3 "2018-03-22" - Built: Thu Mar 22 2018 10:07:30 +* v2.10.4 "2018-05-03" - Built: Thu May 03 2018 15:48:14 * * 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.10.3', + VERSION: '2.10.4', /** * An array of Phaser game instances. @@ -2145,13 +2145,10 @@ Phaser.Ellipse.prototype = { if (out === undefined) { out = new Phaser.Point(); } var p = Math.random() * Math.PI * 2; - var r = Math.random(); + var r = Math.sqrt(Math.random()); - out.x = Math.sqrt(r) * Math.cos(p); - out.y = Math.sqrt(r) * Math.sin(p); - - out.x = this.x + (out.x * this.width / 2.0); - out.y = this.y + (out.y * this.height / 2.0); + out.x = this.centerX + 0.5 * r * Math.cos(p) * this.width; + out.y = this.centerY + 0.5 * r * Math.sin(p) * this.height; return out; @@ -2256,6 +2253,34 @@ Object.defineProperty(Phaser.Ellipse.prototype, "bottom", { }); +/** +* The x coordinate of the center of the Ellipse. +* @name Phaser.Ellipse#centerX +* @property {number} centerX +* @readonly +*/ +Object.defineProperty(Phaser.Ellipse.prototype, "centerX", { + + get: function () { + return this.x + 0.5 * this.width; + } + +}); + +/** +* The y coordinate of the center of the Ellipse. +* @name Phaser.Ellipse#centerY +* @property {number} centerY +* @readonly +*/ +Object.defineProperty(Phaser.Ellipse.prototype, "centerY", { + + get: function () { + return this.y + 0.5 * this.height; + } + +}); + /** * Determines whether or not this Ellipse object is empty. Will return a value of true if the Ellipse objects dimensions are less than or equal to 0; otherwise false. * If set to true it will reset all of the Ellipse objects properties to 0. An Ellipse object is empty if its width or height is less than or equal to 0. @@ -7364,7 +7389,7 @@ Phaser.State = function () { this.stage = null; /** - * @property {Phaser.StateManager} stage - A reference to the State Manager, which controls state changes. + * @property {Phaser.StateManager} state - A reference to the State Manager, which controls state changes. */ this.state = null; @@ -14467,7 +14492,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * @property {number} [GameConfig.scaleV=1] - Vertical scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. * @property {object} [GameConfig.state] -* @property {boolean} [GameConfig.transparent=false] +* @property {boolean|string} [GameConfig.transparent=false] - Sets {@link Phaser.Game#transparent}. `'notMultiplied'` disables the WebGL context attribute `premultipliedAlpha`. * @property {number} [GameConfig.trimH=0] - Horizontal trim for USER_SCALE scale mode. * @property {number} [GameConfig.trimV=0] - Vertical trim for USER_SCALE scale mode. * @property {number|string} [GameConfig.width=800] @@ -15862,12 +15887,13 @@ Phaser.Input.prototype = { /** * Adds a callback that is fired every time the activePointer receives a DOM move event such as a mousemove or touchmove. * - * The callback will be sent 4 parameters: + * The callback will be sent 5 parameters: * - * A reference to the Phaser.Pointer object that moved, - * The x position of the pointer, - * The y position, - * A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down). + * - A reference to the Phaser.Pointer object that moved + * - The x position of the pointer + * - The y position + * - A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down) + * - The DOM move event * * It will be called every time the activePointer moves, which in a multi-touch game can be a lot of times, so this is best * to only use if you've limited input to a single pointer (i.e. mouse or touch). @@ -18941,7 +18967,7 @@ Phaser.Pointer.prototype = { while (i--) { - input.moveCallbacks[i].callback.call(input.moveCallbacks[i].context, this, this.x, this.y, fromClick); + input.moveCallbacks[i].callback.call(input.moveCallbacks[i].context, this, this.x, this.y, fromClick, event); } // Easy out if we're dragging something and it still exists @@ -34597,15 +34623,15 @@ Phaser.Graphics.prototype.drawCircle = function (x, y, diameter) { * Draws an ellipse. * * @method Phaser.Graphics#drawEllipse - * @param x {Number} The X coordinate of the center of the ellipse - * @param y {Number} The Y coordinate of the center of the ellipse - * @param width {Number} The half width of the ellipse - * @param height {Number} The half height of the ellipse + * @param centerX {Number} The X coordinate of the center of the ellipse + * @param centerY {Number} The Y coordinate of the center of the ellipse + * @param halfWidth {Number} The half width of the ellipse + * @param halfHeight {Number} The half height of the ellipse * @return {Graphics} */ -Phaser.Graphics.prototype.drawEllipse = function (x, y, width, height) { +Phaser.Graphics.prototype.drawEllipse = function (centerX, centerY, halfWidth, halfHeight) { - this.drawShape(new Phaser.Ellipse(x, y, width, height)); + this.drawShape({x: centerX, y: centerY, width: halfWidth, height: halfHeight, type: Phaser.ELLIPSE}); return this; @@ -35838,7 +35864,7 @@ Phaser.Text = function (game, x, y, text, style) { /** * Specify a padding value which is added to the line width and height when calculating the Text size. - * ALlows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions. + * Allows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions. * @property {Phaser.Point} padding */ this.padding = new Phaser.Point(); @@ -35917,6 +35943,12 @@ Phaser.Text = function (game, x, y, text, style) { */ this.characterLimitSuffix = ''; + /** The text to use to measure the font width and height. + * @property {string} _testString + * @private + */ + this._testString = '|MÉq'; + /** * @property {number} _res - Internal canvas resolution var. * @private @@ -37062,7 +37094,14 @@ Phaser.Text.prototype.setText = function (text, immediate) { if (immediate === undefined) { immediate = false; } - this.text = text.toString() || ''; + text = text.toString() || ''; + + if (text === this._text) + { + return this; + } + + this.text = text; if (immediate) { @@ -37313,6 +37352,7 @@ Phaser.Text.prototype._renderCanvas = function (renderSession) { Phaser.Text.prototype.determineFontProperties = function (fontStyle) { var properties = Phaser.Text.fontPropertiesCache[fontStyle]; + var measureText = this.testString || '|MÉq'; if (!properties) { @@ -37323,8 +37363,8 @@ Phaser.Text.prototype.determineFontProperties = function (fontStyle) { context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('|MÉq').width); + var width = Math.ceil(context.measureText(measureText).width); + var baseline = Math.ceil(context.measureText(measureText).width); var height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -37339,7 +37379,7 @@ Phaser.Text.prototype.determineFontProperties = function (fontStyle) { context.textBaseline = 'alphabetic'; context.fillStyle = '#000'; - context.fillText('|MÉq', 0, baseline); + context.fillText(measureText, 0, baseline); if (!context.getImageData(0, 0, width, height)) { @@ -38101,6 +38141,28 @@ Object.defineProperty(Phaser.Text.prototype, 'height', { }); +/** +* The text used to measure the font's width and height +* @name Phaser.Text#testString +* @default '|MÉq' +*/ +Object.defineProperty(Phaser.Text.prototype, 'testString', { + + get: function() { + + return this._testString; + + }, + + set: function(value) { + + this._testString = value; + this.updateText(); + + } +}); + + Phaser.Text.fontPropertiesCache = {}; Phaser.Text.fontPropertiesCanvas = document.createElement('canvas'); @@ -50099,7 +50161,7 @@ Phaser.Animation.prototype = { /** * Plays this animation. - * + * * If you need to jump to a specific frame of this animation, then call `play` and immediately after it, * set the frame you require (i.e. `animation.play(); animation.frame = 4`). * @@ -50590,6 +50652,7 @@ Phaser.Animation.prototype = { this._frameIndex = this._frames.length - 1; this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]); + this.updateCurrentFrame(false); this.isPlaying = false; this.isFinished = true; @@ -58411,6 +58474,9 @@ Phaser.Sound.prototype = { if (this._sound && this.isPlaying && !this.allowMultiple && (this.override || forceRestart)) { + // Firefox calls onended() after _sound.stop(). Chrome and Safari do not. (#530) + this._sound.onended = null; + if (this.usingWebAudio) { if (this._sound.stop === undefined) @@ -58586,9 +58652,9 @@ Phaser.Sound.prototype = { if (this._sound && (this.game.device.cocoonJS || this._sound.readyState === 4)) { this._sound.play(); - + this._sound.loop = this.loop; - + // This doesn't become available until you call play(), wonderful ... this.totalDuration = this._sound.duration; @@ -62645,6 +62711,42 @@ Phaser.Utils.Debug = function (game) { }; +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_AUTO = 0; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_RECTANGLE = 1; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_CIRCLE = 2; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_POINT = 3; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_LINE = 4; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_ELLIPSE = 5; + Phaser.Utils.Debug.prototype = { /** @@ -63178,7 +63280,7 @@ Phaser.Utils.Debug.prototype = { * @param {number} x - X position of the pixel to be rendered. * @param {number} y - Y position of the pixel to be rendered. * @param {string} [color] - Color of the pixel (format is css color string). - * @param {number} [size=2] - The 'size' to render the pixel at. + * @param {number} [size=2] - The width and height of the rendered pixel. */ pixel: function (x, y, color, size) { @@ -63198,7 +63300,7 @@ Phaser.Utils.Debug.prototype = { * @param {Phaser.Rectangle|Phaser.Circle|Phaser.Ellipse|Phaser.Point|Phaser.Line} object - The geometry object to render. * @param {string} [color] - Color of the debug info to be rendered (format is css color string). * @param {boolean} [filled=true] - Render the objected as a filled (default, true) or a stroked (false) - * @param {number} [forceType=0] - Force rendering of a specific type. If 0 no type will be forced, otherwise 1 = Rectangle, 2 = Circle,3 = Point, 4 = Line and 5 = Ellipse. + * @param {number} [forceType=Phaser.Utils.Debug.GEOM_AUTO] - Force rendering of a specific type: (0) GEOM_AUTO, 1 GEOM_RECTANGLE, (2) GEOM_CIRCLE, (3) GEOM_POINT, (4) GEOM_LINE, (5) GEOM_ELLIPSE. */ geom: function (object, color, filled, forceType) { @@ -63213,7 +63315,9 @@ Phaser.Utils.Debug.prototype = { this.context.strokeStyle = color; this.context.lineWidth = this.lineWidth; - if (object instanceof Phaser.Rectangle || forceType === 1) + var Debug = Phaser.Utils.Debug; + + if (forceType === Debug.GEOM_RECTANGLE || object instanceof Phaser.Rectangle) { if (filled) { @@ -63224,7 +63328,7 @@ Phaser.Utils.Debug.prototype = { this.context.strokeRect(object.x - this.game.camera.x, object.y - this.game.camera.y, object.width, object.height); } } - else if (object instanceof Phaser.Circle || forceType === 2) + else if (forceType === Debug.GEOM_CIRCLE || object instanceof Phaser.Circle) { this.context.beginPath(); this.context.arc(object.x - this.game.camera.x, object.y - this.game.camera.y, object.radius, 0, Math.PI * 2, false); @@ -63239,11 +63343,11 @@ Phaser.Utils.Debug.prototype = { this.context.stroke(); } } - else if (object instanceof Phaser.Point || forceType === 3) + else if (forceType === Debug.GEOM_POINT || object instanceof Phaser.Point) { this.context.fillRect(object.x - this.game.camera.x, object.y - this.game.camera.y, 4, 4); } - else if (object instanceof Phaser.Line || forceType === 4) + else if (forceType === Debug.GEOM_LINE || object instanceof Phaser.Line) { this.context.beginPath(); this.context.moveTo((object.start.x + 0.5) - this.game.camera.x, (object.start.y + 0.5) - this.game.camera.y); @@ -63251,10 +63355,10 @@ Phaser.Utils.Debug.prototype = { this.context.closePath(); this.context.stroke(); } - else if (object instanceof Phaser.Ellipse || forceType === 5) + else if (forceType === Debug.GEOM_ELLIPSE || object instanceof Phaser.Ellipse) { this.context.beginPath(); - this.context.ellipse(object.x - this.game.camera.x, object.y - this.game.camera.y, object.width/2, object.height/2, 0,2 * Math.PI,false); + this.context.ellipse(object.centerX - this.game.camera.x, object.centerY - this.game.camera.y, object.width / 2, object.height / 2, 0, 2 * Math.PI, false); this.context.closePath(); if (filled) @@ -78878,7 +78982,7 @@ Phaser.Tilemap.prototype = { layer = this.getLayerIndex(layer); - if (!layer) + if (layer === null) { console.warn('No such layer name: ' + layerArg); } @@ -79168,7 +79272,7 @@ Phaser.Tilemap.prototype = { * If you pass `null` as the tile it will pass your call over to Tilemap.removeTile instead. * * @method Phaser.Tilemap#putTile - * @param {Phaser.Tile|number|null} tile - The index of this tile to set or a Phaser.Tile object. If null the tile is removed from the map. + * @param {Phaser.Tile|number|null} tile - The index of this tile to set or a Phaser.Tile object. If a Tile object, all of its data will be copied. If null the tile is removed from the map. * @param {number} x - X position to place the tile (given in tile units, not pixels) * @param {number} y - Y position to place the tile (given in tile units, not pixels) * @param {number|string|Phaser.TilemapLayer} [layer] - The layer to modify. @@ -79490,6 +79594,7 @@ Phaser.Tilemap.prototype = { /** * Scans the given area for tiles with an index matching tileA and swaps them with tileB. + * Only the tile indexes are modified. * * @method Phaser.Tilemap#swap * @param {number} tileA - First tile index. @@ -79608,6 +79713,7 @@ Phaser.Tilemap.prototype = { /** * Randomises a set of tiles in a given area. + * Only the tile indexes are modified. * * @method Phaser.Tilemap#random * @param {number} x - X position of the top left of the area to operate one, given in tiles, not pixels. @@ -79653,6 +79759,7 @@ Phaser.Tilemap.prototype = { /** * Shuffles a set of tiles in a given area. It will only randomise the tiles in that area, so if they're all the same nothing will appear to have changed! + * Only the tile indexes are modified. * * @method Phaser.Tilemap#shuffle * @param {number} x - X position of the top left of the area to operate one, given in tiles, not pixels. @@ -79695,6 +79802,7 @@ Phaser.Tilemap.prototype = { /** * Fills the given area with the specified tile. + * Only the tile indexes are modified. * * @method Phaser.Tilemap#fill * @param {number} index - The index of the tile that the area will be filled with. diff --git a/build/custom/phaser-creature.map b/build/custom/phaser-creature.map index 3b76b4182..6f8436999 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","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","key","currentObj","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","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","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","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","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_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","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","countUpdate","countRender","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","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","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","_pointerOutHandler","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","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","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","_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","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","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","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","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","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","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","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","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","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","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","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_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","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","AudioContext","webkitAudioContext","resumeWebAudio","setTouchLock","unlock","setTouchUnlock","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","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","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","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","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","CreatureShader","program","vertexSrc","compileProgram","useProgram","uSampler","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","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","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","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","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","key","currentObj","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","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","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","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","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_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","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","countUpdate","countRender","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","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","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","_pointerOutHandler","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","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","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","_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","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","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","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","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","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","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","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","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","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","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","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_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","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","AudioContext","webkitAudioContext","resumeWebAudio","setTouchLock","unlock","setTouchUnlock","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","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","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","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","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","CreatureShader","program","vertexSrc","compileProgram","useProgram","uSampler","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","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","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","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 e24330967..c15d7510e 100644 --- a/build/custom/phaser-creature.min.js +++ b/build/custom/phaser-creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.10.3 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.4 - 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.10.3",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)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},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&&g<=1&&m>=0&&m<=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.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==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 g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(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 g=s;gc&&(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),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,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?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=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 g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,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,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),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 g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[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:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),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,this._data.base.dirty()}}),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=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,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 M=g*x+v*y+m*b-x*y-v*m-g*b,k=l*x+v*u+c*b-x*u-v*c-l*b,O=g*c+l*y+m*u-c*y-l*m-g*u,I=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,R=d*x+v*f+p*b-x*f-v*p-d*b,E=g*p+d*y+m*f-p*y-d*m-g*f,L=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(k/M,R/M,O/M,E/M,I/M,L/M),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?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,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=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},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.updateColor=function(t){i.Color.updateColor(t.target)},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),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(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,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,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.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._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,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.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),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._sound.loop=this.loop,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.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._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.currentMarker&&(this.loop?this._sound.loop=!0: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.currentMarker?this._sound.start(0,t):this._sound.start(0,t,e):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.onTouchUnlock=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(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.input.onUp.addOnce(this.resumeWebAudio,this);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var 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.currentColor=null,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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},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&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,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,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},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=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,g,m,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],g=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-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],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),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+'"'),console.log("Tilesets: ",this.tilesets),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,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===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},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;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(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),g=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,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=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,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;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=o.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((B=new i.Tile(D,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===o.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},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.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},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.game&&(this.bullets=null),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 g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,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=this.body.velocity.atan()),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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.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.10.4",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)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},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.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(e)*this.width,t.y=this.centerY+.5*s*Math.sin(e)*this.height,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&&g<=1&&m>=0&&m<=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.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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,t);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==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 g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(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 g=s;gc&&(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),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,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({x:t,y:e,width:s,height:n,type:i.ELLIPSE}),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=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 g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,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,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),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 g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[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],s=this.testString||"|MÉq";if(!e){e={};var n=i.Text.fontPropertiesCanvas,o=i.Text.fontPropertiesContext;o.font=t;var r=Math.ceil(o.measureText(s).width),a=Math.ceil(o.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=r,n.height=h,o.fillStyle="#f00",o.fillRect(0,0,r,h),o.font=t,o.textBaseline="alphabetic",o.fillStyle="#000",o.fillText(s,0,a),!o.getImageData(0,0,r,h))return e.ascent=a,e.descent=a+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var l,c,u=o.getImageData(0,0,r,h).data,d=u.length,p=4*r,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),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,this._data.base.dirty()}}),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=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,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 M=g*x+v*y+m*b-x*y-v*m-g*b,k=l*x+v*u+c*b-x*u-v*c-l*b,O=g*c+l*y+m*u-c*y-l*m-g*u,I=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=g*p+d*y+m*f-p*y-d*m-g*f,L=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(k/M,E/M,O/M,R/M,I/M,L/M),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?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,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=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},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.updateColor=function(t){i.Color.updateColor(t.target)},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),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(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.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},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,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,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.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._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,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.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),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._sound.onended=null,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._sound.loop=this.loop,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.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._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.currentMarker&&(this.loop?this._sound.loop=!0: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.currentMarker?this._sound.start(0,t):this._sound.start(0,t,e):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.onTouchUnlock=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(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.input.onUp.addOnce(this.resumeWebAudio,this);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var 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.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.GEOM_AUTO=0,i.Utils.Debug.GEOM_RECTANGLE=1,i.Utils.Debug.GEOM_CIRCLE=2,i.Utils.Debug.GEOM_POINT=3,i.Utils.Debug.GEOM_LINE=4,i.Utils.Debug.GEOM_ELLIPSE=5,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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},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&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,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,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},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=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,g,m,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],g=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-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],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),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+'"'),console.log("Tilesets: ",this.tilesets),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,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===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},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;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(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),g=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,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=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,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;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=o.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((B=new i.Tile(D,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===o.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},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.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},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.game&&(this.bullets=null),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 g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,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=this.body.velocity.atan()),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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.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 77fd31816..3e1ae50dc 100644 --- a/build/custom/phaser-minimum.js +++ b/build/custom/phaser-minimum.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.10.3 "2018-03-22" - Built: Thu Mar 22 2018 10:07:14 +* v2.10.4 "2018-05-03" - Built: Thu May 03 2018 15:47:58 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1953,7 +1953,7 @@ PIXI.Sprite.prototype._renderWebGL = function(renderSession, matrix) PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) { // If the sprite is not visible or the alpha is 0 then no need to render this element - if (!this.visible || this.alpha === 0 || !this.renderable || this.texture.crop.width <= 0 || this.texture.crop.height <= 0) + if (!this.visible || this.alpha === 0 || !this.renderable || this.texture.crop.width < 1 || this.texture.crop.height < 1) { return; } @@ -2054,6 +2054,14 @@ PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) dx /= resolution; dy /= resolution; + cw |= 0; + ch |= 0; + + if (!cw || !ch) + { + return; + } + if (this.tint !== 0xFFFFFF) { if (this.texture.requiresReTint || this.cachedTint !== this.tint) @@ -2071,9 +2079,6 @@ PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) var cx = this.texture.crop.x; var cy = this.texture.crop.y; - cw = Math.floor(cw) - ch = Math.floor(ch) - renderSession.context.drawImage(this.texture.baseTexture.source, cx, cy, cw, ch, dx, dy, cw / resolution, ch / resolution); } @@ -7591,7 +7596,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.10.3', + VERSION: '2.10.4', /** * An array of Phaser game instances. @@ -9683,13 +9688,10 @@ Phaser.Ellipse.prototype = { if (out === undefined) { out = new Phaser.Point(); } var p = Math.random() * Math.PI * 2; - var r = Math.random(); + var r = Math.sqrt(Math.random()); - out.x = Math.sqrt(r) * Math.cos(p); - out.y = Math.sqrt(r) * Math.sin(p); - - out.x = this.x + (out.x * this.width / 2.0); - out.y = this.y + (out.y * this.height / 2.0); + out.x = this.centerX + 0.5 * r * Math.cos(p) * this.width; + out.y = this.centerY + 0.5 * r * Math.sin(p) * this.height; return out; @@ -9794,6 +9796,34 @@ Object.defineProperty(Phaser.Ellipse.prototype, "bottom", { }); +/** +* The x coordinate of the center of the Ellipse. +* @name Phaser.Ellipse#centerX +* @property {number} centerX +* @readonly +*/ +Object.defineProperty(Phaser.Ellipse.prototype, "centerX", { + + get: function () { + return this.x + 0.5 * this.width; + } + +}); + +/** +* The y coordinate of the center of the Ellipse. +* @name Phaser.Ellipse#centerY +* @property {number} centerY +* @readonly +*/ +Object.defineProperty(Phaser.Ellipse.prototype, "centerY", { + + get: function () { + return this.y + 0.5 * this.height; + } + +}); + /** * Determines whether or not this Ellipse object is empty. Will return a value of true if the Ellipse objects dimensions are less than or equal to 0; otherwise false. * If set to true it will reset all of the Ellipse objects properties to 0. An Ellipse object is empty if its width or height is less than or equal to 0. @@ -14902,7 +14932,7 @@ Phaser.State = function () { this.stage = null; /** - * @property {Phaser.StateManager} stage - A reference to the State Manager, which controls state changes. + * @property {Phaser.StateManager} state - A reference to the State Manager, which controls state changes. */ this.state = null; @@ -22005,7 +22035,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * @property {number} [GameConfig.scaleV=1] - Vertical scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. * @property {object} [GameConfig.state] -* @property {boolean} [GameConfig.transparent=false] +* @property {boolean|string} [GameConfig.transparent=false] - Sets {@link Phaser.Game#transparent}. `'notMultiplied'` disables the WebGL context attribute `premultipliedAlpha`. * @property {number} [GameConfig.trimH=0] - Horizontal trim for USER_SCALE scale mode. * @property {number} [GameConfig.trimV=0] - Vertical trim for USER_SCALE scale mode. * @property {number|string} [GameConfig.width=800] @@ -23400,12 +23430,13 @@ Phaser.Input.prototype = { /** * Adds a callback that is fired every time the activePointer receives a DOM move event such as a mousemove or touchmove. * - * The callback will be sent 4 parameters: + * The callback will be sent 5 parameters: * - * A reference to the Phaser.Pointer object that moved, - * The x position of the pointer, - * The y position, - * A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down). + * - A reference to the Phaser.Pointer object that moved + * - The x position of the pointer + * - The y position + * - A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down) + * - The DOM move event * * It will be called every time the activePointer moves, which in a multi-touch game can be a lot of times, so this is best * to only use if you've limited input to a single pointer (i.e. mouse or touch). @@ -26479,7 +26510,7 @@ Phaser.Pointer.prototype = { while (i--) { - input.moveCallbacks[i].callback.call(input.moveCallbacks[i].context, this, this.x, this.y, fromClick); + input.moveCallbacks[i].callback.call(input.moveCallbacks[i].context, this, this.x, this.y, fromClick, event); } // Easy out if we're dragging something and it still exists @@ -40773,7 +40804,7 @@ Phaser.Animation.prototype = { /** * Plays this animation. - * + * * If you need to jump to a specific frame of this animation, then call `play` and immediately after it, * set the frame you require (i.e. `animation.play(); animation.frame = 4`). * @@ -41264,6 +41295,7 @@ Phaser.Animation.prototype = { this._frameIndex = this._frames.length - 1; this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]); + this.updateCurrentFrame(false); this.isPlaying = false; this.isFinished = true; diff --git a/build/custom/phaser-minimum.map b/build/custom/phaser-minimum.map index 22ca334ee..563aa926a 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","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","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","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","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","CONTACT","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","_pointerOutHandler","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","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","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","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","connect","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","idx","createElement","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","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","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","isAndroidStockBrowser","matches","skipPool","display","backgroundColor","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","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","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","v0","v1","t2","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","charCodeAt","integer","real","integerInRange","realInRange","normal","ary","weightedPick","timestamp","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","updates","renders","fps","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","_pause","_resume","elapsedSince","since","elapsedSecondsSince","running","expired","onComplete","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","pendingDelete","clearPendingEvents","adjustEvents","baseTime","ms","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","updateFrameData","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","isPaused","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onStart","onUpdate","onLoop","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reversed","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","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","onload","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","textureFrame","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","getCanvas","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getBitmapFont","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","path","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","properties","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","toDataURL","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","toUpperCase","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","xhr","XMLHttpRequest","open","responseType","setRequestHeader","status","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","exec","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","lineHeight","letters","charCode","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","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","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","unshift","rotateLeft","numberArray","numberArrayStep","LinkedList","prev","last","entity","bmd","palettes","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","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","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","packPixel","unpackPixel","hsl","hsv","createColor","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","HSLtoRGB","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","red","green","blue","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","r1","g1","r2","g2","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendLighten","blendDarken","blendMultiply","blendAverage","blendAdd","blendSubtract","blendDifference","blendNegation","blendScreen","blendExclusion","blendOverlay","blendSoftLight","blendHardLight","blendColorDodge","blendColorBurn","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","box2d","chipmunk","matter","NINJA","BOX2D","CHIPMUNK","MATTERJS","Ninja","P2","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","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","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","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","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","CONTACT","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","_pointerOutHandler","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","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","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","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","connect","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","idx","createElement","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","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","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","isAndroidStockBrowser","matches","skipPool","display","backgroundColor","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","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","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","v0","v1","t2","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","charCodeAt","integer","real","integerInRange","realInRange","normal","ary","weightedPick","timestamp","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","updates","renders","fps","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","_pause","_resume","elapsedSince","since","elapsedSecondsSince","running","expired","onComplete","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","pendingDelete","clearPendingEvents","adjustEvents","baseTime","ms","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","updateFrameData","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","isPaused","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onStart","onUpdate","onLoop","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reversed","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","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","onload","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","textureFrame","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","getCanvas","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getBitmapFont","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","path","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","properties","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","toDataURL","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","toUpperCase","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","xhr","XMLHttpRequest","open","responseType","setRequestHeader","status","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","exec","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","lineHeight","letters","charCode","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","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","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","unshift","rotateLeft","numberArray","numberArrayStep","LinkedList","prev","last","entity","bmd","palettes","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","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","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","packPixel","unpackPixel","hsl","hsv","createColor","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","HSLtoRGB","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","red","green","blue","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","r1","g1","r2","g2","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendLighten","blendDarken","blendMultiply","blendAverage","blendAdd","blendSubtract","blendDifference","blendNegation","blendScreen","blendExclusion","blendOverlay","blendSoftLight","blendHardLight","blendColorDodge","blendColorBurn","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","box2d","chipmunk","matter","NINJA","BOX2D","CHIPMUNK","MATTERJS","Ninja","P2","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 586ffe916..a157bda33 100644 --- a/build/custom/phaser-minimum.min.js +++ b/build/custom/phaser-minimum.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.10.3 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.4 - 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,A=w*y+b*m+C,R=_*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=R<(u=M<(u=P)?M:u)?R:u)?L:u,l=I<(l=O<(l=A(c=R>(c=M>c?M:c)?R:c)?L:c,d=I>(d=O>(d=A>d?A:d)?O:d)?I:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=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,A=u,R=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,_=C+6.123233995736766e-17*E,b=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=R,c=A}var O=this.colors,L=this.positions,I=t.tint,D=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=y*u+_*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,A=E.b/P,R=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+R*S+L,m[C++]=O*S+A*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=M*b+R*S+L,m[C++]=O*S+A*b+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*b+R*w+L,m[C++]=O*w+A*b+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=M*T+R*w+L,m[C++]=O*w+A*T+I,m[C++]=o.x3,m[C++]=o.y3,g[C++]=f,m[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,v=this.currentBatchSize;g0&&(y=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.3",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)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,m=new i.Point(c,p),g=new i.Point(d,f),v=e.pointOnSegment(m.x,m.y,.01),y=e.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},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.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(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.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.MODES=["EXACT_FIT","NO_SCALE","SHOW_ALL","RESIZE","USER_SCALE"],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),this.pageAlignHorizontally=t.alignH||!1,this.pageAlignVertically=t.alignV||!1,t.scaleH&&t.scaleV&&this.setUserScale(t.scaleH,t.scaleV,t.trimH,t.trimV)},setupScale:function(t,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,this.parentNode),n.width=this._parentBounds.width,n.height=this._parentBounds.height,this.offset.set(this._parentBounds.x,this._parentBounds.y)):(this.parentNode=null,this.parentIsWindow=!0,n.width=this.dom.visualBounds.width,n.height=this.dom.visualBounds.height,this.offset.set(0,0));var r=0,o=0;"number"==typeof t?r=t:(this.parentScaleFactor.x=parseInt(t,10)/100,r=n.width*this.parentScaleFactor.x),"number"==typeof 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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var v=(f.s-p.s)*n/s+p.s,y=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},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]}},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,A=w*y+b*m+C,R=_*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=R<(u=M<(u=P)?M:u)?R:u)?L:u,l=I<(l=O<(l=A(c=R>(c=M>c?M:c)?R:c)?L:c,d=I>(d=O>(d=A>d?A:d)?O:d)?I:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=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,A=u,R=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,_=C+6.123233995736766e-17*E,b=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=R,c=A}var O=this.colors,L=this.positions,I=t.tint,D=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=y*u+_*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,A=E.b/P,R=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+R*S+L,m[C++]=O*S+A*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=M*b+R*S+L,m[C++]=O*S+A*b+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*b+R*w+L,m[C++]=O*w+A*b+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=M*T+R*w+L,m[C++]=O*w+A*T+I,m[C++]=o.x3,m[C++]=o.y3,g[C++]=f,m[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,v=this.currentBatchSize;g0&&(y=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.4",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)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,m=new i.Point(c,p),g=new i.Point(d,f),v=e.pointOnSegment(m.x,m.y,.01),y=e.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},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.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(e)*this.width,t.y=this.centerY+.5*s*Math.sin(e)*this.height,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.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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,t);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(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.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},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.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.MODES=["EXACT_FIT","NO_SCALE","SHOW_ALL","RESIZE","USER_SCALE"],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),this.pageAlignHorizontally=t.alignH||!1,this.pageAlignVertically=t.alignV||!1,t.scaleH&&t.scaleV&&this.setUserScale(t.scaleH,t.scaleV,t.trimH,t.trimV)},setupScale:function(t,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,this.parentNode),n.width=this._parentBounds.width,n.height=this._parentBounds.height,this.offset.set(this._parentBounds.x,this._parentBounds.y)):(this.parentNode=null,this.parentIsWindow=!0,n.width=this.dom.visualBounds.width,n.height=this.dom.visualBounds.height,this.offset.set(0,0));var r=0,o=0;"number"==typeof t?r=t:(this.parentScaleFactor.x=parseInt(t,10)/100,r=n.width*this.parentScaleFactor.x),"number"==typeof 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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var v=(f.s-p.s)*n/s+p.s,y=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},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]}},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 310e16b28..911f7e8ad 100644 --- a/build/custom/phaser-no-physics.js +++ b/build/custom/phaser-no-physics.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.10.3 "2018-03-22" - Built: Thu Mar 22 2018 10:07:08 +* v2.10.4 "2018-05-03" - Built: Thu May 03 2018 15:47:52 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1953,7 +1953,7 @@ PIXI.Sprite.prototype._renderWebGL = function(renderSession, matrix) PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) { // If the sprite is not visible or the alpha is 0 then no need to render this element - if (!this.visible || this.alpha === 0 || !this.renderable || this.texture.crop.width <= 0 || this.texture.crop.height <= 0) + if (!this.visible || this.alpha === 0 || !this.renderable || this.texture.crop.width < 1 || this.texture.crop.height < 1) { return; } @@ -2054,6 +2054,14 @@ PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) dx /= resolution; dy /= resolution; + cw |= 0; + ch |= 0; + + if (!cw || !ch) + { + return; + } + if (this.tint !== 0xFFFFFF) { if (this.texture.requiresReTint || this.cachedTint !== this.tint) @@ -2071,9 +2079,6 @@ PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) var cx = this.texture.crop.x; var cy = this.texture.crop.y; - cw = Math.floor(cw) - ch = Math.floor(ch) - renderSession.context.drawImage(this.texture.baseTexture.source, cx, cy, cw, ch, dx, dy, cw / resolution, ch / resolution); } @@ -7591,7 +7596,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.10.3', + VERSION: '2.10.4', /** * An array of Phaser game instances. @@ -9683,13 +9688,10 @@ Phaser.Ellipse.prototype = { if (out === undefined) { out = new Phaser.Point(); } var p = Math.random() * Math.PI * 2; - var r = Math.random(); + var r = Math.sqrt(Math.random()); - out.x = Math.sqrt(r) * Math.cos(p); - out.y = Math.sqrt(r) * Math.sin(p); - - out.x = this.x + (out.x * this.width / 2.0); - out.y = this.y + (out.y * this.height / 2.0); + out.x = this.centerX + 0.5 * r * Math.cos(p) * this.width; + out.y = this.centerY + 0.5 * r * Math.sin(p) * this.height; return out; @@ -9794,6 +9796,34 @@ Object.defineProperty(Phaser.Ellipse.prototype, "bottom", { }); +/** +* The x coordinate of the center of the Ellipse. +* @name Phaser.Ellipse#centerX +* @property {number} centerX +* @readonly +*/ +Object.defineProperty(Phaser.Ellipse.prototype, "centerX", { + + get: function () { + return this.x + 0.5 * this.width; + } + +}); + +/** +* The y coordinate of the center of the Ellipse. +* @name Phaser.Ellipse#centerY +* @property {number} centerY +* @readonly +*/ +Object.defineProperty(Phaser.Ellipse.prototype, "centerY", { + + get: function () { + return this.y + 0.5 * this.height; + } + +}); + /** * Determines whether or not this Ellipse object is empty. Will return a value of true if the Ellipse objects dimensions are less than or equal to 0; otherwise false. * If set to true it will reset all of the Ellipse objects properties to 0. An Ellipse object is empty if its width or height is less than or equal to 0. @@ -14902,7 +14932,7 @@ Phaser.State = function () { this.stage = null; /** - * @property {Phaser.StateManager} stage - A reference to the State Manager, which controls state changes. + * @property {Phaser.StateManager} state - A reference to the State Manager, which controls state changes. */ this.state = null; @@ -22005,7 +22035,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * @property {number} [GameConfig.scaleV=1] - Vertical scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. * @property {object} [GameConfig.state] -* @property {boolean} [GameConfig.transparent=false] +* @property {boolean|string} [GameConfig.transparent=false] - Sets {@link Phaser.Game#transparent}. `'notMultiplied'` disables the WebGL context attribute `premultipliedAlpha`. * @property {number} [GameConfig.trimH=0] - Horizontal trim for USER_SCALE scale mode. * @property {number} [GameConfig.trimV=0] - Vertical trim for USER_SCALE scale mode. * @property {number|string} [GameConfig.width=800] @@ -23400,12 +23430,13 @@ Phaser.Input.prototype = { /** * Adds a callback that is fired every time the activePointer receives a DOM move event such as a mousemove or touchmove. * - * The callback will be sent 4 parameters: + * The callback will be sent 5 parameters: * - * A reference to the Phaser.Pointer object that moved, - * The x position of the pointer, - * The y position, - * A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down). + * - A reference to the Phaser.Pointer object that moved + * - The x position of the pointer + * - The y position + * - A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down) + * - The DOM move event * * It will be called every time the activePointer moves, which in a multi-touch game can be a lot of times, so this is best * to only use if you've limited input to a single pointer (i.e. mouse or touch). @@ -26479,7 +26510,7 @@ Phaser.Pointer.prototype = { while (i--) { - input.moveCallbacks[i].callback.call(input.moveCallbacks[i].context, this, this.x, this.y, fromClick); + input.moveCallbacks[i].callback.call(input.moveCallbacks[i].context, this, this.x, this.y, fromClick, event); } // Easy out if we're dragging something and it still exists @@ -42135,15 +42166,15 @@ Phaser.Graphics.prototype.drawCircle = function (x, y, diameter) { * Draws an ellipse. * * @method Phaser.Graphics#drawEllipse - * @param x {Number} The X coordinate of the center of the ellipse - * @param y {Number} The Y coordinate of the center of the ellipse - * @param width {Number} The half width of the ellipse - * @param height {Number} The half height of the ellipse + * @param centerX {Number} The X coordinate of the center of the ellipse + * @param centerY {Number} The Y coordinate of the center of the ellipse + * @param halfWidth {Number} The half width of the ellipse + * @param halfHeight {Number} The half height of the ellipse * @return {Graphics} */ -Phaser.Graphics.prototype.drawEllipse = function (x, y, width, height) { +Phaser.Graphics.prototype.drawEllipse = function (centerX, centerY, halfWidth, halfHeight) { - this.drawShape(new Phaser.Ellipse(x, y, width, height)); + this.drawShape({x: centerX, y: centerY, width: halfWidth, height: halfHeight, type: Phaser.ELLIPSE}); return this; @@ -43376,7 +43407,7 @@ Phaser.Text = function (game, x, y, text, style) { /** * Specify a padding value which is added to the line width and height when calculating the Text size. - * ALlows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions. + * Allows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions. * @property {Phaser.Point} padding */ this.padding = new Phaser.Point(); @@ -43455,6 +43486,12 @@ Phaser.Text = function (game, x, y, text, style) { */ this.characterLimitSuffix = ''; + /** The text to use to measure the font width and height. + * @property {string} _testString + * @private + */ + this._testString = '|MÉq'; + /** * @property {number} _res - Internal canvas resolution var. * @private @@ -44600,7 +44637,14 @@ Phaser.Text.prototype.setText = function (text, immediate) { if (immediate === undefined) { immediate = false; } - this.text = text.toString() || ''; + text = text.toString() || ''; + + if (text === this._text) + { + return this; + } + + this.text = text; if (immediate) { @@ -44851,6 +44895,7 @@ Phaser.Text.prototype._renderCanvas = function (renderSession) { Phaser.Text.prototype.determineFontProperties = function (fontStyle) { var properties = Phaser.Text.fontPropertiesCache[fontStyle]; + var measureText = this.testString || '|MÉq'; if (!properties) { @@ -44861,8 +44906,8 @@ Phaser.Text.prototype.determineFontProperties = function (fontStyle) { context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('|MÉq').width); + var width = Math.ceil(context.measureText(measureText).width); + var baseline = Math.ceil(context.measureText(measureText).width); var height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -44877,7 +44922,7 @@ Phaser.Text.prototype.determineFontProperties = function (fontStyle) { context.textBaseline = 'alphabetic'; context.fillStyle = '#000'; - context.fillText('|MÉq', 0, baseline); + context.fillText(measureText, 0, baseline); if (!context.getImageData(0, 0, width, height)) { @@ -45639,6 +45684,28 @@ Object.defineProperty(Phaser.Text.prototype, 'height', { }); +/** +* The text used to measure the font's width and height +* @name Phaser.Text#testString +* @default '|MÉq' +*/ +Object.defineProperty(Phaser.Text.prototype, 'testString', { + + get: function() { + + return this._testString; + + }, + + set: function(value) { + + this._testString = value; + this.updateText(); + + } +}); + + Phaser.Text.fontPropertiesCache = {}; Phaser.Text.fontPropertiesCanvas = document.createElement('canvas'); @@ -57637,7 +57704,7 @@ Phaser.Animation.prototype = { /** * Plays this animation. - * + * * If you need to jump to a specific frame of this animation, then call `play` and immediately after it, * set the frame you require (i.e. `animation.play(); animation.frame = 4`). * @@ -58128,6 +58195,7 @@ Phaser.Animation.prototype = { this._frameIndex = this._frames.length - 1; this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]); + this.updateCurrentFrame(false); this.isPlaying = false; this.isFinished = true; @@ -65949,6 +66017,9 @@ Phaser.Sound.prototype = { if (this._sound && this.isPlaying && !this.allowMultiple && (this.override || forceRestart)) { + // Firefox calls onended() after _sound.stop(). Chrome and Safari do not. (#530) + this._sound.onended = null; + if (this.usingWebAudio) { if (this._sound.stop === undefined) @@ -66124,9 +66195,9 @@ Phaser.Sound.prototype = { if (this._sound && (this.game.device.cocoonJS || this._sound.readyState === 4)) { this._sound.play(); - + this._sound.loop = this.loop; - + // This doesn't become available until you call play(), wonderful ... this.totalDuration = this._sound.duration; @@ -70183,6 +70254,42 @@ Phaser.Utils.Debug = function (game) { }; +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_AUTO = 0; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_RECTANGLE = 1; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_CIRCLE = 2; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_POINT = 3; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_LINE = 4; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_ELLIPSE = 5; + Phaser.Utils.Debug.prototype = { /** @@ -70716,7 +70823,7 @@ Phaser.Utils.Debug.prototype = { * @param {number} x - X position of the pixel to be rendered. * @param {number} y - Y position of the pixel to be rendered. * @param {string} [color] - Color of the pixel (format is css color string). - * @param {number} [size=2] - The 'size' to render the pixel at. + * @param {number} [size=2] - The width and height of the rendered pixel. */ pixel: function (x, y, color, size) { @@ -70736,7 +70843,7 @@ Phaser.Utils.Debug.prototype = { * @param {Phaser.Rectangle|Phaser.Circle|Phaser.Ellipse|Phaser.Point|Phaser.Line} object - The geometry object to render. * @param {string} [color] - Color of the debug info to be rendered (format is css color string). * @param {boolean} [filled=true] - Render the objected as a filled (default, true) or a stroked (false) - * @param {number} [forceType=0] - Force rendering of a specific type. If 0 no type will be forced, otherwise 1 = Rectangle, 2 = Circle,3 = Point, 4 = Line and 5 = Ellipse. + * @param {number} [forceType=Phaser.Utils.Debug.GEOM_AUTO] - Force rendering of a specific type: (0) GEOM_AUTO, 1 GEOM_RECTANGLE, (2) GEOM_CIRCLE, (3) GEOM_POINT, (4) GEOM_LINE, (5) GEOM_ELLIPSE. */ geom: function (object, color, filled, forceType) { @@ -70751,7 +70858,9 @@ Phaser.Utils.Debug.prototype = { this.context.strokeStyle = color; this.context.lineWidth = this.lineWidth; - if (object instanceof Phaser.Rectangle || forceType === 1) + var Debug = Phaser.Utils.Debug; + + if (forceType === Debug.GEOM_RECTANGLE || object instanceof Phaser.Rectangle) { if (filled) { @@ -70762,7 +70871,7 @@ Phaser.Utils.Debug.prototype = { this.context.strokeRect(object.x - this.game.camera.x, object.y - this.game.camera.y, object.width, object.height); } } - else if (object instanceof Phaser.Circle || forceType === 2) + else if (forceType === Debug.GEOM_CIRCLE || object instanceof Phaser.Circle) { this.context.beginPath(); this.context.arc(object.x - this.game.camera.x, object.y - this.game.camera.y, object.radius, 0, Math.PI * 2, false); @@ -70777,11 +70886,11 @@ Phaser.Utils.Debug.prototype = { this.context.stroke(); } } - else if (object instanceof Phaser.Point || forceType === 3) + else if (forceType === Debug.GEOM_POINT || object instanceof Phaser.Point) { this.context.fillRect(object.x - this.game.camera.x, object.y - this.game.camera.y, 4, 4); } - else if (object instanceof Phaser.Line || forceType === 4) + else if (forceType === Debug.GEOM_LINE || object instanceof Phaser.Line) { this.context.beginPath(); this.context.moveTo((object.start.x + 0.5) - this.game.camera.x, (object.start.y + 0.5) - this.game.camera.y); @@ -70789,10 +70898,10 @@ Phaser.Utils.Debug.prototype = { this.context.closePath(); this.context.stroke(); } - else if (object instanceof Phaser.Ellipse || forceType === 5) + else if (forceType === Debug.GEOM_ELLIPSE || object instanceof Phaser.Ellipse) { this.context.beginPath(); - this.context.ellipse(object.x - this.game.camera.x, object.y - this.game.camera.y, object.width/2, object.height/2, 0,2 * Math.PI,false); + this.context.ellipse(object.centerX - this.game.camera.x, object.centerY - this.game.camera.y, object.width / 2, object.height / 2, 0, 2 * Math.PI, false); this.context.closePath(); if (filled) diff --git a/build/custom/phaser-no-physics.map b/build/custom/phaser-no-physics.map index a6ef2d47e..38030face 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","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","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","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","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","CONTACT","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","_pointerOutHandler","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","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","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","_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","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","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","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","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","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","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","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","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","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","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","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_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","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","AudioContext","webkitAudioContext","resumeWebAudio","setTouchLock","unlock","setTouchUnlock","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","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","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","emitters","ID","onAccess","onError","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","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","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","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","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","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","CONTACT","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","_pointerOutHandler","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","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","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","_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","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","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","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","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","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","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","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","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","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","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","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_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","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","AudioContext","webkitAudioContext","resumeWebAudio","setTouchLock","unlock","setTouchUnlock","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","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","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","emitters","ID","onAccess","onError","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","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 7ca0ac299..be4913e4d 100644 --- a/build/custom/phaser-no-physics.min.js +++ b/build/custom/phaser-no-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.10.3 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.4 - 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 g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=_*m+T*v+C,E=w*v+b*m+S,A=_*g+T*v+C,R=w*v+b*g+S,M=_*g+T*y+C,I=w*y+b*g+S,L=_*m+T*y+C,O=w*y+b*m+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,g=P>(g=C>(g=T>(g=_>g?_:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,_=o.c/m,b=o.d/m,T=o.tx,w=o.ty,C=(i.crop.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[g++]=v*u+_*c+T|0,L[g++]=b*c+x*u+w|0,L[g++]=a.x0,L[g++]=a.y0,I[g++]=k,L[g++]=y,L[g++]=v*h+_*c+T|0,L[g++]=b*c+x*h+w|0,L[g++]=a.x1,L[g++]=a.y1,I[g++]=k,L[g++]=y,L[g++]=v*h+_*l+T|0,L[g++]=b*l+x*h+w|0,L[g++]=a.x2,L[g++]=a.y2,I[g++]=k,L[g++]=y,L[g++]=v*u+_*l+T|0,L[g++]=b*l+x*u+w|0,L[g++]=a.x3,L[g++]=a.y3,I[g++]=k,L[g++]=y):(L[g++]=v*u+_*c+T,L[g++]=b*c+x*u+w,L[g++]=a.x0,L[g++]=a.y0,I[g++]=k,L[g++]=y,L[g++]=v*h+_*c+T,L[g++]=b*c+x*h+w,L[g++]=a.x1,L[g++]=a.y1,I[g++]=k,L[g++]=y,L[g++]=v*h+_*l+T,L[g++]=b*l+x*h+w,L[g++]=a.x2,L[g++]=a.y2,I[g++]=k,L[g++]=y,L[g++]=v*u+_*l+T,L[g++]=b*l+x*u+w,L[g++]=a.x3,L[g++]=a.y3,I[g++]=k,L[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,_=t.anchor.y,b=y*(1-x),T=y*-x,w=v*(1-_),C=v*-_,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,R=E.b/P,M=E.c/P,I=E.d/P,L=E.tx,O=E.ty;g[S++]=A*T+M*C+L,g[S++]=I*C+R*T+O,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*b+M*C+L,g[S++]=I*C+R*b+O,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*b+M*w+L,g[S++]=I*w+R*b+O,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+M*w+L,g[S++]=I*w+R*T+O,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,u,l),l=m,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.3",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)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,g=new i.Point(c,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},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&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,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.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,u,l,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==u&&null!==u||(u=this._size.y),"number"==typeof l&&(this._rotate=l),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-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 g=s;gl&&(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),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+g*b)*i+t,(f*-b+g*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},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?m:T,T=v>T?v:T,T=_>T?_:T,w=y>w?y:w,w=x>w?x:w,w=b>w?b:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},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 g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var 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,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ou){if(0===c){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=u)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);l[c]=m,h+=g}var y=l[c].length?c:c+1,v=l.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,u-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},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:!1,chars:u};n+=(p.xAdvance+g)*e,u.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*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,this._data.base.dirty()}}),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=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,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=g*x+v*y+m*_-x*y-v*m-g*_,R=u*x+v*c+l*_-x*c-v*l-u*_,M=g*l+u*y+m*c-l*y-u*m-g*c,I=g*x*c+v*l*y+u*m*_-u*x*y-v*m*c-g*l*_,L=d*x+v*f+p*_-x*f-v*p-d*_,O=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*_-d*x*y-v*m*f-g*p*_;t.transform(R/A,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?m: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=g>(b=p>b?p:b)?g:b)?y:b)?x:b,T=_>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?_:T;var S=this._bounds;return S.x=w,S.width=b-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(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=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},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.updateColor=function(t){i.Color.updateColor(t.target)},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),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(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,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var 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.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._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,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.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),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._sound.loop=this.loop,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.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._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.currentMarker&&(this.loop?this._sound.loop=!0: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.currentMarker?this._sound.start(0,t):this._sound.start(0,t,e):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.onTouchUnlock=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(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.input.onUp.addOnce(this.resumeWebAudio,this);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var 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.currentColor=null,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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},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]}},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.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.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 g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=_*m+T*v+C,E=w*v+b*m+S,A=_*g+T*v+C,R=w*v+b*g+S,M=_*g+T*y+C,I=w*y+b*g+S,L=_*m+T*y+C,O=w*y+b*m+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,g=P>(g=C>(g=T>(g=_>g?_:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,_=o.c/m,b=o.d/m,T=o.tx,w=o.ty,C=(i.crop.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[g++]=v*u+_*c+T|0,L[g++]=b*c+x*u+w|0,L[g++]=a.x0,L[g++]=a.y0,I[g++]=k,L[g++]=y,L[g++]=v*h+_*c+T|0,L[g++]=b*c+x*h+w|0,L[g++]=a.x1,L[g++]=a.y1,I[g++]=k,L[g++]=y,L[g++]=v*h+_*l+T|0,L[g++]=b*l+x*h+w|0,L[g++]=a.x2,L[g++]=a.y2,I[g++]=k,L[g++]=y,L[g++]=v*u+_*l+T|0,L[g++]=b*l+x*u+w|0,L[g++]=a.x3,L[g++]=a.y3,I[g++]=k,L[g++]=y):(L[g++]=v*u+_*c+T,L[g++]=b*c+x*u+w,L[g++]=a.x0,L[g++]=a.y0,I[g++]=k,L[g++]=y,L[g++]=v*h+_*c+T,L[g++]=b*c+x*h+w,L[g++]=a.x1,L[g++]=a.y1,I[g++]=k,L[g++]=y,L[g++]=v*h+_*l+T,L[g++]=b*l+x*h+w,L[g++]=a.x2,L[g++]=a.y2,I[g++]=k,L[g++]=y,L[g++]=v*u+_*l+T,L[g++]=b*l+x*u+w,L[g++]=a.x3,L[g++]=a.y3,I[g++]=k,L[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,_=t.anchor.y,b=y*(1-x),T=y*-x,w=v*(1-_),C=v*-_,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,R=E.b/P,M=E.c/P,I=E.d/P,L=E.tx,O=E.ty;g[S++]=A*T+M*C+L,g[S++]=I*C+R*T+O,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*b+M*C+L,g[S++]=I*C+R*b+O,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*b+M*w+L,g[S++]=I*w+R*b+O,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+M*w+L,g[S++]=I*w+R*T+O,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,u,l),l=m,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.4",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)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,g=new i.Point(c,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},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.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(e)*this.width,t.y=this.centerY+.5*s*Math.sin(e)*this.height,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&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,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.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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,t);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,u,l,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==u&&null!==u||(u=this._size.y),"number"==typeof l&&(this._rotate=l),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-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 g=s;gl&&(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),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+g*b)*i+t,(f*-b+g*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},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({x:t,y:e,width:s,height:n,type:i.ELLIPSE}),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?m:T,T=v>T?v:T,T=_>T?_:T,w=y>w?y:w,w=x>w?x:w,w=b>w?b:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},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 g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var 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,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ou){if(0===c){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=u)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);l[c]=m,h+=g}var y=l[c].length?c:c+1,v=l.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,u-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},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],s=this.testString||"|MÉq";if(!e){e={};var n=i.Text.fontPropertiesCanvas,r=i.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return e.ascent=a,e.descent=a+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var u,l,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,g=!1;for(u=0;ua;u--){for(l=0;l0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:!1,chars:u};n+=(p.xAdvance+g)*e,u.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*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,this._data.base.dirty()}}),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=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,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=g*x+v*y+m*_-x*y-v*m-g*_,R=u*x+v*c+l*_-x*c-v*l-u*_,M=g*l+u*y+m*c-l*y-u*m-g*c,I=g*x*c+v*l*y+u*m*_-u*x*y-v*m*c-g*l*_,L=d*x+v*f+p*_-x*f-v*p-d*_,O=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*_-d*x*y-v*m*f-g*p*_;t.transform(R/A,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?m: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=g>(b=p>b?p:b)?g:b)?y:b)?x:b,T=_>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?_:T;var S=this._bounds;return S.x=w,S.width=b-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(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=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},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.updateColor=function(t){i.Color.updateColor(t.target)},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),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(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.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},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,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var 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.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._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,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.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),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._sound.onended=null,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._sound.loop=this.loop,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.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._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.currentMarker&&(this.loop?this._sound.loop=!0: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.currentMarker?this._sound.start(0,t):this._sound.start(0,t,e):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.onTouchUnlock=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(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.input.onUp.addOnce(this.resumeWebAudio,this);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var 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.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.GEOM_AUTO=0,i.Utils.Debug.GEOM_RECTANGLE=1,i.Utils.Debug.GEOM_CIRCLE=2,i.Utils.Debug.GEOM_POINT=3,i.Utils.Debug.GEOM_LINE=4,i.Utils.Debug.GEOM_ELLIPSE=5,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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},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]}},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.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.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 7f46dcdd8..b4d9f8f54 100644 --- a/build/custom/phaser-split.js +++ b/build/custom/phaser-split.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.10.3 "2018-03-22" - Built: Thu Mar 22 2018 10:07:20 +* v2.10.4 "2018-05-03" - Built: Thu May 03 2018 15:48:04 * * 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.10.3', + VERSION: '2.10.4', /** * An array of Phaser game instances. @@ -2145,13 +2145,10 @@ Phaser.Ellipse.prototype = { if (out === undefined) { out = new Phaser.Point(); } var p = Math.random() * Math.PI * 2; - var r = Math.random(); + var r = Math.sqrt(Math.random()); - out.x = Math.sqrt(r) * Math.cos(p); - out.y = Math.sqrt(r) * Math.sin(p); - - out.x = this.x + (out.x * this.width / 2.0); - out.y = this.y + (out.y * this.height / 2.0); + out.x = this.centerX + 0.5 * r * Math.cos(p) * this.width; + out.y = this.centerY + 0.5 * r * Math.sin(p) * this.height; return out; @@ -2256,6 +2253,34 @@ Object.defineProperty(Phaser.Ellipse.prototype, "bottom", { }); +/** +* The x coordinate of the center of the Ellipse. +* @name Phaser.Ellipse#centerX +* @property {number} centerX +* @readonly +*/ +Object.defineProperty(Phaser.Ellipse.prototype, "centerX", { + + get: function () { + return this.x + 0.5 * this.width; + } + +}); + +/** +* The y coordinate of the center of the Ellipse. +* @name Phaser.Ellipse#centerY +* @property {number} centerY +* @readonly +*/ +Object.defineProperty(Phaser.Ellipse.prototype, "centerY", { + + get: function () { + return this.y + 0.5 * this.height; + } + +}); + /** * Determines whether or not this Ellipse object is empty. Will return a value of true if the Ellipse objects dimensions are less than or equal to 0; otherwise false. * If set to true it will reset all of the Ellipse objects properties to 0. An Ellipse object is empty if its width or height is less than or equal to 0. @@ -7364,7 +7389,7 @@ Phaser.State = function () { this.stage = null; /** - * @property {Phaser.StateManager} stage - A reference to the State Manager, which controls state changes. + * @property {Phaser.StateManager} state - A reference to the State Manager, which controls state changes. */ this.state = null; @@ -14467,7 +14492,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * @property {number} [GameConfig.scaleV=1] - Vertical scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. * @property {object} [GameConfig.state] -* @property {boolean} [GameConfig.transparent=false] +* @property {boolean|string} [GameConfig.transparent=false] - Sets {@link Phaser.Game#transparent}. `'notMultiplied'` disables the WebGL context attribute `premultipliedAlpha`. * @property {number} [GameConfig.trimH=0] - Horizontal trim for USER_SCALE scale mode. * @property {number} [GameConfig.trimV=0] - Vertical trim for USER_SCALE scale mode. * @property {number|string} [GameConfig.width=800] @@ -15862,12 +15887,13 @@ Phaser.Input.prototype = { /** * Adds a callback that is fired every time the activePointer receives a DOM move event such as a mousemove or touchmove. * - * The callback will be sent 4 parameters: + * The callback will be sent 5 parameters: * - * A reference to the Phaser.Pointer object that moved, - * The x position of the pointer, - * The y position, - * A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down). + * - A reference to the Phaser.Pointer object that moved + * - The x position of the pointer + * - The y position + * - A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down) + * - The DOM move event * * It will be called every time the activePointer moves, which in a multi-touch game can be a lot of times, so this is best * to only use if you've limited input to a single pointer (i.e. mouse or touch). @@ -18941,7 +18967,7 @@ Phaser.Pointer.prototype = { while (i--) { - input.moveCallbacks[i].callback.call(input.moveCallbacks[i].context, this, this.x, this.y, fromClick); + input.moveCallbacks[i].callback.call(input.moveCallbacks[i].context, this, this.x, this.y, fromClick, event); } // Easy out if we're dragging something and it still exists @@ -34597,15 +34623,15 @@ Phaser.Graphics.prototype.drawCircle = function (x, y, diameter) { * Draws an ellipse. * * @method Phaser.Graphics#drawEllipse - * @param x {Number} The X coordinate of the center of the ellipse - * @param y {Number} The Y coordinate of the center of the ellipse - * @param width {Number} The half width of the ellipse - * @param height {Number} The half height of the ellipse + * @param centerX {Number} The X coordinate of the center of the ellipse + * @param centerY {Number} The Y coordinate of the center of the ellipse + * @param halfWidth {Number} The half width of the ellipse + * @param halfHeight {Number} The half height of the ellipse * @return {Graphics} */ -Phaser.Graphics.prototype.drawEllipse = function (x, y, width, height) { +Phaser.Graphics.prototype.drawEllipse = function (centerX, centerY, halfWidth, halfHeight) { - this.drawShape(new Phaser.Ellipse(x, y, width, height)); + this.drawShape({x: centerX, y: centerY, width: halfWidth, height: halfHeight, type: Phaser.ELLIPSE}); return this; @@ -35838,7 +35864,7 @@ Phaser.Text = function (game, x, y, text, style) { /** * Specify a padding value which is added to the line width and height when calculating the Text size. - * ALlows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions. + * Allows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions. * @property {Phaser.Point} padding */ this.padding = new Phaser.Point(); @@ -35917,6 +35943,12 @@ Phaser.Text = function (game, x, y, text, style) { */ this.characterLimitSuffix = ''; + /** The text to use to measure the font width and height. + * @property {string} _testString + * @private + */ + this._testString = '|MÉq'; + /** * @property {number} _res - Internal canvas resolution var. * @private @@ -37062,7 +37094,14 @@ Phaser.Text.prototype.setText = function (text, immediate) { if (immediate === undefined) { immediate = false; } - this.text = text.toString() || ''; + text = text.toString() || ''; + + if (text === this._text) + { + return this; + } + + this.text = text; if (immediate) { @@ -37313,6 +37352,7 @@ Phaser.Text.prototype._renderCanvas = function (renderSession) { Phaser.Text.prototype.determineFontProperties = function (fontStyle) { var properties = Phaser.Text.fontPropertiesCache[fontStyle]; + var measureText = this.testString || '|MÉq'; if (!properties) { @@ -37323,8 +37363,8 @@ Phaser.Text.prototype.determineFontProperties = function (fontStyle) { context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('|MÉq').width); + var width = Math.ceil(context.measureText(measureText).width); + var baseline = Math.ceil(context.measureText(measureText).width); var height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -37339,7 +37379,7 @@ Phaser.Text.prototype.determineFontProperties = function (fontStyle) { context.textBaseline = 'alphabetic'; context.fillStyle = '#000'; - context.fillText('|MÉq', 0, baseline); + context.fillText(measureText, 0, baseline); if (!context.getImageData(0, 0, width, height)) { @@ -38101,6 +38141,28 @@ Object.defineProperty(Phaser.Text.prototype, 'height', { }); +/** +* The text used to measure the font's width and height +* @name Phaser.Text#testString +* @default '|MÉq' +*/ +Object.defineProperty(Phaser.Text.prototype, 'testString', { + + get: function() { + + return this._testString; + + }, + + set: function(value) { + + this._testString = value; + this.updateText(); + + } +}); + + Phaser.Text.fontPropertiesCache = {}; Phaser.Text.fontPropertiesCanvas = document.createElement('canvas'); @@ -50099,7 +50161,7 @@ Phaser.Animation.prototype = { /** * Plays this animation. - * + * * If you need to jump to a specific frame of this animation, then call `play` and immediately after it, * set the frame you require (i.e. `animation.play(); animation.frame = 4`). * @@ -50590,6 +50652,7 @@ Phaser.Animation.prototype = { this._frameIndex = this._frames.length - 1; this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]); + this.updateCurrentFrame(false); this.isPlaying = false; this.isFinished = true; @@ -58411,6 +58474,9 @@ Phaser.Sound.prototype = { if (this._sound && this.isPlaying && !this.allowMultiple && (this.override || forceRestart)) { + // Firefox calls onended() after _sound.stop(). Chrome and Safari do not. (#530) + this._sound.onended = null; + if (this.usingWebAudio) { if (this._sound.stop === undefined) @@ -58586,9 +58652,9 @@ Phaser.Sound.prototype = { if (this._sound && (this.game.device.cocoonJS || this._sound.readyState === 4)) { this._sound.play(); - + this._sound.loop = this.loop; - + // This doesn't become available until you call play(), wonderful ... this.totalDuration = this._sound.duration; @@ -62645,6 +62711,42 @@ Phaser.Utils.Debug = function (game) { }; +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_AUTO = 0; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_RECTANGLE = 1; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_CIRCLE = 2; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_POINT = 3; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_LINE = 4; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_ELLIPSE = 5; + Phaser.Utils.Debug.prototype = { /** @@ -63178,7 +63280,7 @@ Phaser.Utils.Debug.prototype = { * @param {number} x - X position of the pixel to be rendered. * @param {number} y - Y position of the pixel to be rendered. * @param {string} [color] - Color of the pixel (format is css color string). - * @param {number} [size=2] - The 'size' to render the pixel at. + * @param {number} [size=2] - The width and height of the rendered pixel. */ pixel: function (x, y, color, size) { @@ -63198,7 +63300,7 @@ Phaser.Utils.Debug.prototype = { * @param {Phaser.Rectangle|Phaser.Circle|Phaser.Ellipse|Phaser.Point|Phaser.Line} object - The geometry object to render. * @param {string} [color] - Color of the debug info to be rendered (format is css color string). * @param {boolean} [filled=true] - Render the objected as a filled (default, true) or a stroked (false) - * @param {number} [forceType=0] - Force rendering of a specific type. If 0 no type will be forced, otherwise 1 = Rectangle, 2 = Circle,3 = Point, 4 = Line and 5 = Ellipse. + * @param {number} [forceType=Phaser.Utils.Debug.GEOM_AUTO] - Force rendering of a specific type: (0) GEOM_AUTO, 1 GEOM_RECTANGLE, (2) GEOM_CIRCLE, (3) GEOM_POINT, (4) GEOM_LINE, (5) GEOM_ELLIPSE. */ geom: function (object, color, filled, forceType) { @@ -63213,7 +63315,9 @@ Phaser.Utils.Debug.prototype = { this.context.strokeStyle = color; this.context.lineWidth = this.lineWidth; - if (object instanceof Phaser.Rectangle || forceType === 1) + var Debug = Phaser.Utils.Debug; + + if (forceType === Debug.GEOM_RECTANGLE || object instanceof Phaser.Rectangle) { if (filled) { @@ -63224,7 +63328,7 @@ Phaser.Utils.Debug.prototype = { this.context.strokeRect(object.x - this.game.camera.x, object.y - this.game.camera.y, object.width, object.height); } } - else if (object instanceof Phaser.Circle || forceType === 2) + else if (forceType === Debug.GEOM_CIRCLE || object instanceof Phaser.Circle) { this.context.beginPath(); this.context.arc(object.x - this.game.camera.x, object.y - this.game.camera.y, object.radius, 0, Math.PI * 2, false); @@ -63239,11 +63343,11 @@ Phaser.Utils.Debug.prototype = { this.context.stroke(); } } - else if (object instanceof Phaser.Point || forceType === 3) + else if (forceType === Debug.GEOM_POINT || object instanceof Phaser.Point) { this.context.fillRect(object.x - this.game.camera.x, object.y - this.game.camera.y, 4, 4); } - else if (object instanceof Phaser.Line || forceType === 4) + else if (forceType === Debug.GEOM_LINE || object instanceof Phaser.Line) { this.context.beginPath(); this.context.moveTo((object.start.x + 0.5) - this.game.camera.x, (object.start.y + 0.5) - this.game.camera.y); @@ -63251,10 +63355,10 @@ Phaser.Utils.Debug.prototype = { this.context.closePath(); this.context.stroke(); } - else if (object instanceof Phaser.Ellipse || forceType === 5) + else if (forceType === Debug.GEOM_ELLIPSE || object instanceof Phaser.Ellipse) { this.context.beginPath(); - this.context.ellipse(object.x - this.game.camera.x, object.y - this.game.camera.y, object.width/2, object.height/2, 0,2 * Math.PI,false); + this.context.ellipse(object.centerX - this.game.camera.x, object.centerY - this.game.camera.y, object.width / 2, object.height / 2, 0, 2 * Math.PI, false); this.context.closePath(); if (filled) @@ -78878,7 +78982,7 @@ Phaser.Tilemap.prototype = { layer = this.getLayerIndex(layer); - if (!layer) + if (layer === null) { console.warn('No such layer name: ' + layerArg); } @@ -79168,7 +79272,7 @@ Phaser.Tilemap.prototype = { * If you pass `null` as the tile it will pass your call over to Tilemap.removeTile instead. * * @method Phaser.Tilemap#putTile - * @param {Phaser.Tile|number|null} tile - The index of this tile to set or a Phaser.Tile object. If null the tile is removed from the map. + * @param {Phaser.Tile|number|null} tile - The index of this tile to set or a Phaser.Tile object. If a Tile object, all of its data will be copied. If null the tile is removed from the map. * @param {number} x - X position to place the tile (given in tile units, not pixels) * @param {number} y - Y position to place the tile (given in tile units, not pixels) * @param {number|string|Phaser.TilemapLayer} [layer] - The layer to modify. @@ -79490,6 +79594,7 @@ Phaser.Tilemap.prototype = { /** * Scans the given area for tiles with an index matching tileA and swaps them with tileB. + * Only the tile indexes are modified. * * @method Phaser.Tilemap#swap * @param {number} tileA - First tile index. @@ -79608,6 +79713,7 @@ Phaser.Tilemap.prototype = { /** * Randomises a set of tiles in a given area. + * Only the tile indexes are modified. * * @method Phaser.Tilemap#random * @param {number} x - X position of the top left of the area to operate one, given in tiles, not pixels. @@ -79653,6 +79759,7 @@ Phaser.Tilemap.prototype = { /** * Shuffles a set of tiles in a given area. It will only randomise the tiles in that area, so if they're all the same nothing will appear to have changed! + * Only the tile indexes are modified. * * @method Phaser.Tilemap#shuffle * @param {number} x - X position of the top left of the area to operate one, given in tiles, not pixels. @@ -79695,6 +79802,7 @@ Phaser.Tilemap.prototype = { /** * Fills the given area with the specified tile. + * Only the tile indexes are modified. * * @method Phaser.Tilemap#fill * @param {number} index - The index of the tile that the area will be filled with. diff --git a/build/custom/phaser-split.map b/build/custom/phaser-split.map index 5d6d58dc6..bb7ed2ce5 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","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","key","currentObj","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","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","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","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","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_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","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","countUpdate","countRender","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","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","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","_pointerOutHandler","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","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","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","_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","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","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","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","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","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","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","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","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","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","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","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_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","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","AudioContext","webkitAudioContext","resumeWebAudio","setTouchLock","unlock","setTouchUnlock","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","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","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","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","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","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","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","key","currentObj","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","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","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","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","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_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","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","countUpdate","countRender","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","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","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","_pointerOutHandler","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","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","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","_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","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","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","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","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","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","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","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","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","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","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","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_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","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","AudioContext","webkitAudioContext","resumeWebAudio","setTouchLock","unlock","setTouchUnlock","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","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","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","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","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","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 45046758e..ade86bda4 100644 --- a/build/custom/phaser-split.min.js +++ b/build/custom/phaser-split.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.10.3 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.4 - 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.10.3",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)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},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&&g<=1&&m>=0&&m<=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.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==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 g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(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 g=s;gc&&(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),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,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?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=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 g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,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,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),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 g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[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:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),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,this._data.base.dirty()}}),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=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,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=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=g*c+l*y+m*u-c*y-l*m-g*u,I=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=g*p+d*y+m*f-p*y-d*m-g*f,L=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/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?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,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=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},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.updateColor=function(t){i.Color.updateColor(t.target)},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),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(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,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,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.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._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,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.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),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._sound.loop=this.loop,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.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._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.currentMarker&&(this.loop?this._sound.loop=!0: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.currentMarker?this._sound.start(0,t):this._sound.start(0,t,e):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.onTouchUnlock=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(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.input.onUp.addOnce(this.resumeWebAudio,this);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var 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.currentColor=null,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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},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&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,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,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},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=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,g,m,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],g=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-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],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),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+'"'),console.log("Tilesets: ",this.tilesets),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,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===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},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;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(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),g=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,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=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,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;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=o.data.length;m536870912)switch(k>2147483648&&(k-=2147483648,d+=4),k>1073741824&&(k-=1073741824,d+=2),k>536870912&&(k-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}k>0?((B=new i.Tile(D,k,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===o.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},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.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},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.game&&(this.bullets=null),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 g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,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=this.body.velocity.atan()),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.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.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.10.4",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)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},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.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(e)*this.width,t.y=this.centerY+.5*s*Math.sin(e)*this.height,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&&g<=1&&m>=0&&m<=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.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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,t);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==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 g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(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 g=s;gc&&(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),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,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({x:t,y:e,width:s,height:n,type:i.ELLIPSE}),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=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 g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,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,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),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 g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[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],s=this.testString||"|MÉq";if(!e){e={};var n=i.Text.fontPropertiesCanvas,o=i.Text.fontPropertiesContext;o.font=t;var r=Math.ceil(o.measureText(s).width),a=Math.ceil(o.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=r,n.height=h,o.fillStyle="#f00",o.fillRect(0,0,r,h),o.font=t,o.textBaseline="alphabetic",o.fillStyle="#000",o.fillText(s,0,a),!o.getImageData(0,0,r,h))return e.ascent=a,e.descent=a+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var l,c,u=o.getImageData(0,0,r,h).data,d=u.length,p=4*r,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),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,this._data.base.dirty()}}),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=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,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=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=g*c+l*y+m*u-c*y-l*m-g*u,I=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=g*p+d*y+m*f-p*y-d*m-g*f,L=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/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?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,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=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},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.updateColor=function(t){i.Color.updateColor(t.target)},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),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(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.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},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,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,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.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._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,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.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),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._sound.onended=null,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._sound.loop=this.loop,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.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._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.currentMarker&&(this.loop?this._sound.loop=!0: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.currentMarker?this._sound.start(0,t):this._sound.start(0,t,e):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.onTouchUnlock=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(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.input.onUp.addOnce(this.resumeWebAudio,this);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var 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.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.GEOM_AUTO=0,i.Utils.Debug.GEOM_RECTANGLE=1,i.Utils.Debug.GEOM_CIRCLE=2,i.Utils.Debug.GEOM_POINT=3,i.Utils.Debug.GEOM_LINE=4,i.Utils.Debug.GEOM_ELLIPSE=5,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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},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&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,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,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},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=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,g,m,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],g=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-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],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),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+'"'),console.log("Tilesets: ",this.tilesets),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,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===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},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;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(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),g=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,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=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,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;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=o.data.length;m536870912)switch(k>2147483648&&(k-=2147483648,d+=4),k>1073741824&&(k-=1073741824,d+=2),k>536870912&&(k-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}k>0?((B=new i.Tile(D,k,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===o.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},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.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},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.game&&(this.bullets=null),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 g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,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=this.body.velocity.atan()),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.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.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 9b56a8055..2a38844ad 100644 --- a/build/custom/pixi.js +++ b/build/custom/pixi.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.10.3 "2018-03-22" - Built: Thu Mar 22 2018 10:07:29 +* v2.10.4 "2018-05-03" - Built: Thu May 03 2018 15:48:14 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1953,7 +1953,7 @@ PIXI.Sprite.prototype._renderWebGL = function(renderSession, matrix) PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) { // If the sprite is not visible or the alpha is 0 then no need to render this element - if (!this.visible || this.alpha === 0 || !this.renderable || this.texture.crop.width <= 0 || this.texture.crop.height <= 0) + if (!this.visible || this.alpha === 0 || !this.renderable || this.texture.crop.width < 1 || this.texture.crop.height < 1) { return; } @@ -2054,6 +2054,14 @@ PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) dx /= resolution; dy /= resolution; + cw |= 0; + ch |= 0; + + if (!cw || !ch) + { + return; + } + if (this.tint !== 0xFFFFFF) { if (this.texture.requiresReTint || this.cachedTint !== this.tint) @@ -2071,9 +2079,6 @@ PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) var cx = this.texture.crop.x; var cy = this.texture.crop.y; - cw = Math.floor(cw) - ch = Math.floor(ch) - renderSession.context.drawImage(this.texture.baseTexture.source, cx, cy, cw, ch, dx, dy, cw / resolution, ch / resolution); } diff --git a/build/custom/pixi.map b/build/custom/pixi.map index 8fc1f78c5..6a32a3e7a 100644 --- a/build/custom/pixi.map +++ b/build/custom/pixi.map @@ -1 +1 @@ -{"version":3,"sources":["pixi.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","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","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd"],"mappings":"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","file":"pixi.min.js"} \ No newline at end of file +{"version":3,"sources":["pixi.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","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","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","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","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd"],"mappings":"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","file":"pixi.min.js"} \ No newline at end of file diff --git a/build/custom/pixi.min.js b/build/custom/pixi.min.js index 2c533da67..31f149c96 100644 --- a/build/custom/pixi.min.js +++ b/build/custom/pixi.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.10.3 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.4 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 c=Math.sqrt(r*r+i*i);this.worldRotation=i>0?Math.acos(r/c):-Math.acos(r/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(s||o){var d=Math.sqrt(s*s+o*o);this.worldRotation=Phaser.Math.HALF_PI-(o>0?Math.acos(-s/d):-Math.acos(s/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*t.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(e,t,r){var s=this.getLocalBounds(),o=new Phaser.RenderTexture(this.game,0|s.width,0|s.height,r,t,e);return i.DisplayObject._tempMatrix.tx=-s.x,i.DisplayObject._tempMatrix.ty=-s.y,o.render(this,i.DisplayObject._tempMatrix),o},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(e){return this.updateTransform(),this.worldTransform.apply(e)},toLocal:function(e,t){return t&&(e=t.toGlobal(e)),this.updateTransform(),this.worldTransform.applyInverse(e)},_renderCachedSprite:function(e){this._cachedSprite.worldAlpha=this.worldAlpha,e.gl?i.Sprite.prototype._renderWebGL.call(this._cachedSprite,e):i.Sprite.prototype._renderCanvas.call(this._cachedSprite,e)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var e=this.getLocalBounds();if(e.width=Math.max(1,Math.ceil(e.width)),e.height=Math.max(1,Math.ceil(e.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(e.width,e.height);else{var t=0;this.texture&&this.texture.baseTexture&&i._enableMultiTextureToggle&&(t=this.texture.baseTexture.textureIndex);var r=new Phaser.RenderTexture(this.game,e.width,e.height,void 0,void 0,void 0,void 0,t);this._cachedSprite=new i.Sprite(r),this._cachedSprite.worldTransform=this.worldTransform}var s=this._filters;this._filters=null,this._cachedSprite.filters=s,i.DisplayObject._tempMatrix.tx=-e.x,i.DisplayObject._tempMatrix.ty=-e.y,this._cachedSprite.texture.render(this,i.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-e.x/e.width,this._cachedSprite.anchor.y=-e.y/e.height,this._filters=s,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},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?c:n,d=d>h?d:h);var x=this._bounds;if(!f){var p=(x=new i.Rectangle).x,g=x.width+x.x,v=x.y,T=x.height+x.y,m=this.worldTransform,E=m.a,_=m.b,S=m.c,y=m.d,b=m.tx,A=m.ty,R=E*g+S*T+b,M=y*T+_*g+A,C=E*p+S*T+b,L=y*T+_*p+A,B=E*p+S*v+b,P=y*v+_*p+A,w=E*g+S*v+b,U=y*v+_*g+A;c=R,d=M,u=M,l=w<(l=B<(l=C<(l=R)?C:l)?B:l)?w:l,u=U<(u=P<(u=L(c=B>(c=C>c?C:c)?B:c)?w:c,d=U>(d=P>(d=L>d?L:d)?P:d)?U:d}if(x.x=l,x.y=u,x.width=c-l,x.height=d-u,t)for(e.worldTransform=o,s=0;s(x=y>(x=_>(x=m>x?m:x)?_:x)?y:x)?A:x,p=R>(p=b>(p=S>(p=E>p?E:p)?S:p)?b:p)?R:p}var M=this._bounds;return M.x=g,M.width=x-g,M.y=v,M.height=p-v,this._currentBounds=M,M},i.Sprite.prototype.getLocalBounds=function(){var e=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var t=0;t= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var s=i.compileProgram(e,this.vertexSrc||i.PixiShader.defaultVertexSrc,this.fragmentSrc);e.useProgram(s),this.uSamplerArray=e.getUniformLocation(s,"uSamplerArray[0]"),this.projectionVector=e.getUniformLocation(s,"projectionVector"),this.offsetVector=e.getUniformLocation(s,"offsetVector"),this.dimensions=e.getUniformLocation(s,"dimensions"),this.aVertexPosition=e.getAttribLocation(s,"aVertexPosition"),this.aTextureCoord=e.getAttribLocation(s,"aTextureCoord"),this.colorAttribute=e.getAttribLocation(s,"aColor"),this.aTextureIndex=e.getAttribLocation(s,"aTextureIndex");var o=[],a=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,a),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var n=0;n 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],i.PixiFastShader=function(e){if(this._UID=Phaser._UID++,this.gl=e,this.program=null,i._enableMultiTextureToggle){var e=this.gl;this.MAX_TEXTURES=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);for(var t="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",r=1;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},i.PixiFastShader.prototype.constructor=i.PixiFastShader,i.PixiFastShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},i.StripShader.prototype.constructor=i.StripShader,i.StripShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},r=this.gl,s=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),o=r.getParameter(r.MAX_TEXTURE_SIZE),a=this.game.cache._cache.image,n=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=r.baseTexture);var n=r._uvs;if(n){var h,l,u,c,d=e.anchor.x,f=e.anchor.y;if(r.trim){var x=r.trim;h=(l=x.x-d*x.width)+r.crop.width,u=(c=x.y-f*x.height)+r.crop.height}else h=r.frame.width*(1-d),l=r.frame.width*-d,u=r.frame.height*(1-f),c=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=c,u=B,c=L}var P=this.colors,w=this.positions,U=e.tint,F=(U>>16)+(65280&U)+((255&U)<<16)+(255*e.worldAlpha<<24);this.renderSession.roundPixels?(w[p++]=T*l+E*c+S|0,w[p++]=_*c+m*l+y|0,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=v,w[p++]=T*h+E*c+S|0,w[p++]=_*c+m*h+y|0,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=v,w[p++]=T*h+E*u+S|0,w[p++]=_*u+m*h+y|0,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=v,w[p++]=T*l+E*u+S|0,w[p++]=_*u+m*l+y|0,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=v):(w[p++]=T*l+E*c+S,w[p++]=_*c+m*l+y,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=v,w[p++]=T*h+E*c+S,w[p++]=_*c+m*h+y,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=v,w[p++]=T*h+E*u+S,w[p++]=_*u+m*h+y,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=v,w[p++]=T*l+E*u+S,w[p++]=_*u+m*l+y,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=v),this.sprites[this.currentBatchSize++]=e}},i.WebGLSpriteBatch.prototype.renderTilingSprite=function(e){var t=e.tilingTexture,r=t.baseTexture,s=this.gl,o=e.texture.baseTexture.textureIndex;i.WebGLRenderer.textureArray[o]!=r&&(this.flush(),s.activeTexture(s.TEXTURE0+o),s.bindTexture(s.TEXTURE_2D,r._glTextures[s.id]),i.WebGLRenderer.textureArray[o]=r),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=t.baseTexture),e._uvs||(e._uvs=new i.TextureUvs);var a=e._uvs,n=t.baseTexture.width,h=t.baseTexture.height;e.tilePosition.x%=n*e.tileScaleOffset.x,e.tilePosition.y%=h*e.tileScaleOffset.y;var l=e.tilePosition.x/(n*e.tileScaleOffset.x),u=e.tilePosition.y/(h*e.tileScaleOffset.y),c=e.width/n/(e.tileScale.x*e.tileScaleOffset.x),d=e.height/h/(e.tileScale.y*e.tileScaleOffset.y);a.x0=0-l,a.y0=0-u,a.x1=1*c-l,a.y1=0-u,a.x2=1*c-l,a.y2=1*d-u,a.x3=0-l,a.y3=1*d-u;var f=e.tint,x=(f>>16)+(65280&f)+((255&f)<<16)+(255*e.worldAlpha<<24),p=this.positions,g=this.colors,v=e.width,T=e.height,m=e.anchor.x,E=e.anchor.y,_=v*(1-m),S=v*-m,y=T*(1-E),b=T*-E,A=this.currentBatchSize*this.vertexSize,R=t.baseTexture.resolution,M=e.worldTransform,C=M.a/R,L=M.b/R,B=M.c/R,P=M.d/R,w=M.tx,U=M.ty;p[A++]=C*S+B*b+w,p[A++]=P*b+L*S+U,p[A++]=a.x0,p[A++]=a.y0,g[A++]=x,p[A++]=o,p[A++]=C*_+B*b+w,p[A++]=P*b+L*_+U,p[A++]=a.x1,p[A++]=a.y1,g[A++]=x,p[A++]=o,p[A++]=C*_+B*y+w,p[A++]=P*y+L*_+U,p[A++]=a.x2,p[A++]=a.y2,g[A++]=x,p[A++]=o,p[A++]=C*S+B*y+w,p[A++]=P*y+L*S+U,p[A++]=a.x3,p[A++]=a.y3,g[A++]=x,p[A++]=o,this.sprites[this.currentBatchSize++]=e},i.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e,t=this.gl;if(this.dirty){this.dirty=!1,e=this.defaultShader.shaders[t.id],t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var r=this.vertexSize;t.vertexAttribPointer(e.aVertexPosition,2,t.FLOAT,!1,r,0),t.vertexAttribPointer(e.aTextureCoord,2,t.FLOAT,!1,r,8),t.vertexAttribPointer(e.colorAttribute,4,t.UNSIGNED_BYTE,!0,r,16),t.vertexAttribPointer(e.aTextureIndex,1,t.FLOAT,!1,r,20)}if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer);var s=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);t.bufferSubData(t.ARRAY_BUFFER,0,s)}for(var o,a,n,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,f=null,x=!1,p=!1,g=0,v=this.currentBatchSize;g0&&(T=!1),(x||p)&&(this.renderBatch(c,l,u),u=g,l=0,c=o,x&&(d=a,this.renderSession.blendModeManager.setBlendMode(d)),p)){(e=(f=n).shaders[t.id])||((e=new i.PixiShader(t)).fragmentSrc=f.fragmentSrc,e.uniforms=f.uniforms,e.init(),f.shaders[t.id]=e),this.renderSession.shaderManager.setShader(e),e.dirty&&e.syncUniforms();var m=this.renderSession.projection;t.uniform2f(e.projectionVector,m.x,m.y);var E=this.renderSession.offset;t.uniform2f(e.offsetVector,E.x,E.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},i.WebGLSpriteBatch.prototype.renderBatch=function(e,t,r){if(0!==t){var i=this.gl;if(e._dirty[i.id]){if(!this.renderSession.renderer.updateTexture(e))return}else i.bindTexture(i.TEXTURE_2D,e._glTextures[i.id]);i.drawElements(i.TRIANGLES,6*t,i.UNSIGNED_SHORT,6*r*2),this.renderSession.drawCount++}},i.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},i.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},i.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},i.WebGLFastSpriteBatch=function(e){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var t=4*this.size*this.vertSize,r=6*this.maxSize;this.vertices=new Float32Array(t),this.indices=new Uint16Array(r),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var i=0,s=0;i=this.size&&this.flush()}},i.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e=this.gl;if(this.currentBaseTexture._glTextures[e.id]){if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{var t=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);e.bufferSubData(e.ARRAY_BUFFER,0,t)}e.drawElements(e.TRIANGLES,6*this.currentBatchSize,e.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,e)}},i.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},i.WebGLFastSpriteBatch.prototype.start=function(){var e=this.gl;e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var t=this.renderSession.projection;e.uniform2f(this.shader.projectionVector,t.x,t.y),e.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var r=4*this.vertSize;e.vertexAttribPointer(this.shader.aVertexPosition,2,e.FLOAT,!1,r,0),e.vertexAttribPointer(this.shader.aPositionCoord,2,e.FLOAT,!1,r,8),e.vertexAttribPointer(this.shader.aScale,2,e.FLOAT,!1,r,16),e.vertexAttribPointer(this.shader.aRotation,1,e.FLOAT,!1,r,24),e.vertexAttribPointer(this.shader.aTextureCoord,2,e.FLOAT,!1,r,28),e.vertexAttribPointer(this.shader.colorAttribute,1,e.FLOAT,!1,r,36),e.vertexAttribPointer(this.shader.aTextureIndex,1,e.FLOAT,!1,r,40)},i.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},i.WebGLFilterManager.prototype.constructor=i.WebGLFilterManager,i.WebGLFilterManager.prototype.setContext=function(e){this.gl=e,this.texturePool=[],this.initShaderBuffers()},i.WebGLFilterManager.prototype.begin=function(e,t){this.renderSession=e,this.defaultShader=e.shaderManager.defaultShader;var r=this.renderSession.projection;this.width=2*r.x,this.height=2*-r.y,this.buffer=t},i.WebGLFilterManager.prototype.pushFilter=function(e){var t=this.gl,r=this.renderSession.projection,s=this.renderSession.offset;e._filterArea=e.target.filterArea||e.target.getBounds(),e._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new i.WebGLStencilManager,this.renderSession.stencilManager.setContext(t),t.disable(t.STENCIL_TEST),this.filterStack.push(e);var o=e.filterPasses[0];this.offsetX+=e._filterArea.x,this.offsetY+=e._filterArea.y;var a=this.texturePool.pop();a?a.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):a=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindTexture(t.TEXTURE_2D,a.texture);var n=e._filterArea,h=o.padding;n.x-=h,n.y-=h,n.width+=2*h,n.height+=2*h,n.x<0&&(n.x=0),n.width>this.width&&(n.width=this.width),n.y<0&&(n.y=0),n.height>this.height&&(n.height=this.height),t.bindFramebuffer(t.FRAMEBUFFER,a.frameBuffer),t.viewport(0,0,n.width*this.renderSession.resolution,n.height*this.renderSession.resolution),r.x=n.width/2,r.y=-n.height/2,s.x=-n.x,s.y=-n.y,t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),e._glFilterTexture=a},i.WebGLFilterManager.prototype.popFilter=function(){var e=this.gl,t=this.filterStack.pop(),r=t._filterArea,s=t._glFilterTexture,o=this.renderSession.projection,a=this.renderSession.offset;if(t.filterPasses.length>1){e.viewport(0,0,r.width*this.renderSession.resolution,r.height*this.renderSession.resolution),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=r.height,this.vertexArray[2]=r.width,this.vertexArray[3]=r.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=r.width,this.vertexArray[7]=0,e.bufferSubData(e.ARRAY_BUFFER,0,this.vertexArray),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=r.width/this.width,this.uvArray[5]=r.height/this.height,this.uvArray[6]=r.width/this.width,this.uvArray[7]=r.height/this.height,e.bufferSubData(e.ARRAY_BUFFER,0,this.uvArray);var n=s,h=this.texturePool.pop();h||(h=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindFramebuffer(e.FRAMEBUFFER,h.frameBuffer),e.clear(e.COLOR_BUFFER_BIT),e.disable(e.BLEND);for(var l=0;l0?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.applyFilterPass(d,r,f,x),this.texturePool.push(s),t._glFilterTexture=null},i.WebGLFilterManager.prototype.applyFilterPass=function(e,t,r,s){var o=this.gl,a=e.shaders[o.id];a||((a=new i.PixiShader(o)).fragmentSrc=e.fragmentSrc,a.uniforms=e.uniforms,a.init(!0),e.shaders[o.id]=a),this.renderSession.shaderManager.setShader(a),o.uniform2f(a.projectionVector,r/2,-s/2),o.uniform2f(a.offsetVector,0,0),e.uniforms.dimensions&&(e.uniforms.dimensions.value[0]=this.width,e.uniforms.dimensions.value[1]=this.height,e.uniforms.dimensions.value[2]=this.vertexArray[0],e.uniforms.dimensions.value[3]=this.vertexArray[5]),a.syncUniforms(),o.bindBuffer(o.ARRAY_BUFFER,this.vertexBuffer),o.vertexAttribPointer(a.aVertexPosition,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.uvBuffer),o.vertexAttribPointer(a.aTextureCoord,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.colorBuffer),o.vertexAttribPointer(a.colorAttribute,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,this.indexBuffer),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0),this.renderSession.drawCount++},i.WebGLFilterManager.prototype.initShaderBuffers=function(){var e=this.gl;this.vertexBuffer=e.createBuffer(),this.uvBuffer=e.createBuffer(),this.colorBuffer=e.createBuffer(),this.indexBuffer=e.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertexArray,e.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvArray,e.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),e.bindBuffer(e.ARRAY_BUFFER,this.colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colorArray,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),e.STATIC_DRAW)},i.WebGLFilterManager.prototype.destroy=function(){var e=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var t=0;t=0;e--){var t=this._glTextures[e],r=i.glContexts[e];r&&t&&r.deleteTexture(t)}this._glTextures.length=0,this.dirty()},i.BaseTexture.fromCanvas=function(e,t,r){return 0===e.width&&(e.width=1),0===e.height&&(e.height=1),r=r||1,new i.BaseTexture(e,t,r)},i.TextureSilentFail=!1,i.Texture=function(e,t,r,s){this.noFrame=!1,t||(this.noFrame=!0,t=new i.Rectangle(0,0,1,1)),e instanceof i.Texture&&(e=e.baseTexture),this.baseTexture=e,this.frame=t,this.trim=s,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=r||new i.Rectangle(0,0,1,1),this.rotated=!1,e.hasLoaded&&(this.noFrame&&(t=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(t))},i.Texture.prototype.constructor=i.Texture,i.Texture.prototype.onBaseTextureLoaded=function(){var e=this.baseTexture;this.noFrame&&(this.frame=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(this.frame)},i.Texture.prototype.destroy=function(e){e&&this.baseTexture.destroy(),this.valid=!1},i.Texture.prototype.setFrame=function(e){if(this.noFrame=!1,this.frame=e,this.width=e.width,this.height=e.height,this.crop.x=e.x,this.crop.y=e.y,this.crop.width=e.width,this.crop.height=e.height,this.trim||!(e.x+e.width>this.baseTexture.width||e.y+e.height>this.baseTexture.height))this.valid=e&&e.width&&e.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!i.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},i.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.width)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.width)/t,this._uvs.y2=(e.y+e.height)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.height)/r},i.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.height)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.height)/t,this._uvs.y2=(e.y+e.width)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.width)/r},i.Texture.fromCanvas=function(e,t){var r=i.BaseTexture.fromCanvas(e,t);return new i.Texture(r)},i.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.PIXI=i):"undefined"!=typeof define&&define.amd?define("PIXI",r.PIXI=i):r.PIXI=i,i}).call(this); +(function(){function e(e,t,r,s){var o=e.createTexture();return e.bindTexture(e.TEXTURE_2D,o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),o}function t(t,r,i,o,a){var n=t.createFramebuffer(),h=t.createRenderbuffer(),l=null,u=0;return t.activeTexture(t.TEXTURE0+a),t.bindFramebuffer(t.FRAMEBUFFER,n),t.bindRenderbuffer(t.RENDERBUFFER,h),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,this.renderBuffer),l=e(t,r,i,o),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,l,0),(u=t.checkFramebufferStatus(t.FRAMEBUFFER))!==t.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",s[u]),n.width=r,n.height=i,n.targetTexture=l,n.renderBuffer=h,n}var r=this,i=i||{};i.DisplayObject=function(){this.position=new i.Point(0,0),this.scale=new i.Point(1,1),this.pivot=new i.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new i.Point(0,0),this.worldScale=new i.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new i.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},i.DisplayObject.prototype={constructor:i.DisplayObject,destroy:function(){if(this.children){for(var e=this.children.length;e--;)this.children[e].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(e){if(!e&&!this.parent&&!this.game)return this;var t=this.parent;e?t=e:this.parent||(t=this.game.world);var r,i,s,o,a,n,h=t.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),r=this._cr*this.scale.x,i=this._sr*this.scale.x,s=-this._sr*this.scale.y,o=this._cr*this.scale.y,a=this.position.x,n=this.position.y,(this.pivot.x||this.pivot.y)&&(a-=this.pivot.x*r+this.pivot.y*s,n-=this.pivot.x*i+this.pivot.y*o),l.a=r*h.a+i*h.c,l.b=r*h.b+i*h.d,l.c=s*h.a+o*h.c,l.d=s*h.b+o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty):(r=this.scale.x,i=0,s=0,o=this.scale.y,a=this.position.x-this.pivot.x*r,n=this.position.y-this.pivot.y*o,l.a=r*h.a,l.b=r*h.b,l.c=o*h.c,l.d=o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty),r=l.a,i=l.b,s=l.c;var u=r*(o=l.d)-i*s;if(r||i){var c=Math.sqrt(r*r+i*i);this.worldRotation=i>0?Math.acos(r/c):-Math.acos(r/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(s||o){var d=Math.sqrt(s*s+o*o);this.worldRotation=Phaser.Math.HALF_PI-(o>0?Math.acos(-s/d):-Math.acos(s/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*t.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(e,t,r){var s=this.getLocalBounds(),o=new Phaser.RenderTexture(this.game,0|s.width,0|s.height,r,t,e);return i.DisplayObject._tempMatrix.tx=-s.x,i.DisplayObject._tempMatrix.ty=-s.y,o.render(this,i.DisplayObject._tempMatrix),o},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(e){return this.updateTransform(),this.worldTransform.apply(e)},toLocal:function(e,t){return t&&(e=t.toGlobal(e)),this.updateTransform(),this.worldTransform.applyInverse(e)},_renderCachedSprite:function(e){this._cachedSprite.worldAlpha=this.worldAlpha,e.gl?i.Sprite.prototype._renderWebGL.call(this._cachedSprite,e):i.Sprite.prototype._renderCanvas.call(this._cachedSprite,e)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var e=this.getLocalBounds();if(e.width=Math.max(1,Math.ceil(e.width)),e.height=Math.max(1,Math.ceil(e.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(e.width,e.height);else{var t=0;this.texture&&this.texture.baseTexture&&i._enableMultiTextureToggle&&(t=this.texture.baseTexture.textureIndex);var r=new Phaser.RenderTexture(this.game,e.width,e.height,void 0,void 0,void 0,void 0,t);this._cachedSprite=new i.Sprite(r),this._cachedSprite.worldTransform=this.worldTransform}var s=this._filters;this._filters=null,this._cachedSprite.filters=s,i.DisplayObject._tempMatrix.tx=-e.x,i.DisplayObject._tempMatrix.ty=-e.y,this._cachedSprite.texture.render(this,i.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-e.x/e.width,this._cachedSprite.anchor.y=-e.y/e.height,this._filters=s,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},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?c:n,d=d>h?d:h);var x=this._bounds;if(!f){var p=(x=new i.Rectangle).x,g=x.width+x.x,v=x.y,T=x.height+x.y,m=this.worldTransform,E=m.a,_=m.b,S=m.c,y=m.d,b=m.tx,A=m.ty,R=E*g+S*T+b,M=y*T+_*g+A,C=E*p+S*T+b,L=y*T+_*p+A,B=E*p+S*v+b,P=y*v+_*p+A,w=E*g+S*v+b,U=y*v+_*g+A;c=R,d=M,u=M,l=w<(l=B<(l=C<(l=R)?C:l)?B:l)?w:l,u=U<(u=P<(u=L(c=B>(c=C>c?C:c)?B:c)?w:c,d=U>(d=P>(d=L>d?L:d)?P:d)?U:d}if(x.x=l,x.y=u,x.width=c-l,x.height=d-u,t)for(e.worldTransform=o,s=0;s(x=y>(x=_>(x=m>x?m:x)?_:x)?y:x)?A:x,p=R>(p=b>(p=S>(p=E>p?E:p)?S:p)?b:p)?R:p}var M=this._bounds;return M.x=g,M.width=x-g,M.y=v,M.height=p-v,this._currentBounds=M,M},i.Sprite.prototype.getLocalBounds=function(){var e=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var t=0;t= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var s=i.compileProgram(e,this.vertexSrc||i.PixiShader.defaultVertexSrc,this.fragmentSrc);e.useProgram(s),this.uSamplerArray=e.getUniformLocation(s,"uSamplerArray[0]"),this.projectionVector=e.getUniformLocation(s,"projectionVector"),this.offsetVector=e.getUniformLocation(s,"offsetVector"),this.dimensions=e.getUniformLocation(s,"dimensions"),this.aVertexPosition=e.getAttribLocation(s,"aVertexPosition"),this.aTextureCoord=e.getAttribLocation(s,"aTextureCoord"),this.colorAttribute=e.getAttribLocation(s,"aColor"),this.aTextureIndex=e.getAttribLocation(s,"aTextureIndex");var o=[],a=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,a),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var n=0;n 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],i.PixiFastShader=function(e){if(this._UID=Phaser._UID++,this.gl=e,this.program=null,i._enableMultiTextureToggle){var e=this.gl;this.MAX_TEXTURES=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);for(var t="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",r=1;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},i.PixiFastShader.prototype.constructor=i.PixiFastShader,i.PixiFastShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},i.StripShader.prototype.constructor=i.StripShader,i.StripShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},r=this.gl,s=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),o=r.getParameter(r.MAX_TEXTURE_SIZE),a=this.game.cache._cache.image,n=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=r.baseTexture);var n=r._uvs;if(n){var h,l,u,c,d=e.anchor.x,f=e.anchor.y;if(r.trim){var x=r.trim;h=(l=x.x-d*x.width)+r.crop.width,u=(c=x.y-f*x.height)+r.crop.height}else h=r.frame.width*(1-d),l=r.frame.width*-d,u=r.frame.height*(1-f),c=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=c,u=B,c=L}var P=this.colors,w=this.positions,U=e.tint,F=(U>>16)+(65280&U)+((255&U)<<16)+(255*e.worldAlpha<<24);this.renderSession.roundPixels?(w[p++]=T*l+E*c+S|0,w[p++]=_*c+m*l+y|0,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=v,w[p++]=T*h+E*c+S|0,w[p++]=_*c+m*h+y|0,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=v,w[p++]=T*h+E*u+S|0,w[p++]=_*u+m*h+y|0,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=v,w[p++]=T*l+E*u+S|0,w[p++]=_*u+m*l+y|0,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=v):(w[p++]=T*l+E*c+S,w[p++]=_*c+m*l+y,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=v,w[p++]=T*h+E*c+S,w[p++]=_*c+m*h+y,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=v,w[p++]=T*h+E*u+S,w[p++]=_*u+m*h+y,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=v,w[p++]=T*l+E*u+S,w[p++]=_*u+m*l+y,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=v),this.sprites[this.currentBatchSize++]=e}},i.WebGLSpriteBatch.prototype.renderTilingSprite=function(e){var t=e.tilingTexture,r=t.baseTexture,s=this.gl,o=e.texture.baseTexture.textureIndex;i.WebGLRenderer.textureArray[o]!=r&&(this.flush(),s.activeTexture(s.TEXTURE0+o),s.bindTexture(s.TEXTURE_2D,r._glTextures[s.id]),i.WebGLRenderer.textureArray[o]=r),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=t.baseTexture),e._uvs||(e._uvs=new i.TextureUvs);var a=e._uvs,n=t.baseTexture.width,h=t.baseTexture.height;e.tilePosition.x%=n*e.tileScaleOffset.x,e.tilePosition.y%=h*e.tileScaleOffset.y;var l=e.tilePosition.x/(n*e.tileScaleOffset.x),u=e.tilePosition.y/(h*e.tileScaleOffset.y),c=e.width/n/(e.tileScale.x*e.tileScaleOffset.x),d=e.height/h/(e.tileScale.y*e.tileScaleOffset.y);a.x0=0-l,a.y0=0-u,a.x1=1*c-l,a.y1=0-u,a.x2=1*c-l,a.y2=1*d-u,a.x3=0-l,a.y3=1*d-u;var f=e.tint,x=(f>>16)+(65280&f)+((255&f)<<16)+(255*e.worldAlpha<<24),p=this.positions,g=this.colors,v=e.width,T=e.height,m=e.anchor.x,E=e.anchor.y,_=v*(1-m),S=v*-m,y=T*(1-E),b=T*-E,A=this.currentBatchSize*this.vertexSize,R=t.baseTexture.resolution,M=e.worldTransform,C=M.a/R,L=M.b/R,B=M.c/R,P=M.d/R,w=M.tx,U=M.ty;p[A++]=C*S+B*b+w,p[A++]=P*b+L*S+U,p[A++]=a.x0,p[A++]=a.y0,g[A++]=x,p[A++]=o,p[A++]=C*_+B*b+w,p[A++]=P*b+L*_+U,p[A++]=a.x1,p[A++]=a.y1,g[A++]=x,p[A++]=o,p[A++]=C*_+B*y+w,p[A++]=P*y+L*_+U,p[A++]=a.x2,p[A++]=a.y2,g[A++]=x,p[A++]=o,p[A++]=C*S+B*y+w,p[A++]=P*y+L*S+U,p[A++]=a.x3,p[A++]=a.y3,g[A++]=x,p[A++]=o,this.sprites[this.currentBatchSize++]=e},i.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e,t=this.gl;if(this.dirty){this.dirty=!1,e=this.defaultShader.shaders[t.id],t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var r=this.vertexSize;t.vertexAttribPointer(e.aVertexPosition,2,t.FLOAT,!1,r,0),t.vertexAttribPointer(e.aTextureCoord,2,t.FLOAT,!1,r,8),t.vertexAttribPointer(e.colorAttribute,4,t.UNSIGNED_BYTE,!0,r,16),t.vertexAttribPointer(e.aTextureIndex,1,t.FLOAT,!1,r,20)}if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer);var s=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);t.bufferSubData(t.ARRAY_BUFFER,0,s)}for(var o,a,n,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,f=null,x=!1,p=!1,g=0,v=this.currentBatchSize;g0&&(T=!1),(x||p)&&(this.renderBatch(c,l,u),u=g,l=0,c=o,x&&(d=a,this.renderSession.blendModeManager.setBlendMode(d)),p)){(e=(f=n).shaders[t.id])||((e=new i.PixiShader(t)).fragmentSrc=f.fragmentSrc,e.uniforms=f.uniforms,e.init(),f.shaders[t.id]=e),this.renderSession.shaderManager.setShader(e),e.dirty&&e.syncUniforms();var m=this.renderSession.projection;t.uniform2f(e.projectionVector,m.x,m.y);var E=this.renderSession.offset;t.uniform2f(e.offsetVector,E.x,E.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},i.WebGLSpriteBatch.prototype.renderBatch=function(e,t,r){if(0!==t){var i=this.gl;if(e._dirty[i.id]){if(!this.renderSession.renderer.updateTexture(e))return}else i.bindTexture(i.TEXTURE_2D,e._glTextures[i.id]);i.drawElements(i.TRIANGLES,6*t,i.UNSIGNED_SHORT,6*r*2),this.renderSession.drawCount++}},i.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},i.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},i.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},i.WebGLFastSpriteBatch=function(e){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var t=4*this.size*this.vertSize,r=6*this.maxSize;this.vertices=new Float32Array(t),this.indices=new Uint16Array(r),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var i=0,s=0;i=this.size&&this.flush()}},i.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e=this.gl;if(this.currentBaseTexture._glTextures[e.id]){if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{var t=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);e.bufferSubData(e.ARRAY_BUFFER,0,t)}e.drawElements(e.TRIANGLES,6*this.currentBatchSize,e.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,e)}},i.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},i.WebGLFastSpriteBatch.prototype.start=function(){var e=this.gl;e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var t=this.renderSession.projection;e.uniform2f(this.shader.projectionVector,t.x,t.y),e.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var r=4*this.vertSize;e.vertexAttribPointer(this.shader.aVertexPosition,2,e.FLOAT,!1,r,0),e.vertexAttribPointer(this.shader.aPositionCoord,2,e.FLOAT,!1,r,8),e.vertexAttribPointer(this.shader.aScale,2,e.FLOAT,!1,r,16),e.vertexAttribPointer(this.shader.aRotation,1,e.FLOAT,!1,r,24),e.vertexAttribPointer(this.shader.aTextureCoord,2,e.FLOAT,!1,r,28),e.vertexAttribPointer(this.shader.colorAttribute,1,e.FLOAT,!1,r,36),e.vertexAttribPointer(this.shader.aTextureIndex,1,e.FLOAT,!1,r,40)},i.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},i.WebGLFilterManager.prototype.constructor=i.WebGLFilterManager,i.WebGLFilterManager.prototype.setContext=function(e){this.gl=e,this.texturePool=[],this.initShaderBuffers()},i.WebGLFilterManager.prototype.begin=function(e,t){this.renderSession=e,this.defaultShader=e.shaderManager.defaultShader;var r=this.renderSession.projection;this.width=2*r.x,this.height=2*-r.y,this.buffer=t},i.WebGLFilterManager.prototype.pushFilter=function(e){var t=this.gl,r=this.renderSession.projection,s=this.renderSession.offset;e._filterArea=e.target.filterArea||e.target.getBounds(),e._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new i.WebGLStencilManager,this.renderSession.stencilManager.setContext(t),t.disable(t.STENCIL_TEST),this.filterStack.push(e);var o=e.filterPasses[0];this.offsetX+=e._filterArea.x,this.offsetY+=e._filterArea.y;var a=this.texturePool.pop();a?a.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):a=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindTexture(t.TEXTURE_2D,a.texture);var n=e._filterArea,h=o.padding;n.x-=h,n.y-=h,n.width+=2*h,n.height+=2*h,n.x<0&&(n.x=0),n.width>this.width&&(n.width=this.width),n.y<0&&(n.y=0),n.height>this.height&&(n.height=this.height),t.bindFramebuffer(t.FRAMEBUFFER,a.frameBuffer),t.viewport(0,0,n.width*this.renderSession.resolution,n.height*this.renderSession.resolution),r.x=n.width/2,r.y=-n.height/2,s.x=-n.x,s.y=-n.y,t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),e._glFilterTexture=a},i.WebGLFilterManager.prototype.popFilter=function(){var e=this.gl,t=this.filterStack.pop(),r=t._filterArea,s=t._glFilterTexture,o=this.renderSession.projection,a=this.renderSession.offset;if(t.filterPasses.length>1){e.viewport(0,0,r.width*this.renderSession.resolution,r.height*this.renderSession.resolution),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=r.height,this.vertexArray[2]=r.width,this.vertexArray[3]=r.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=r.width,this.vertexArray[7]=0,e.bufferSubData(e.ARRAY_BUFFER,0,this.vertexArray),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=r.width/this.width,this.uvArray[5]=r.height/this.height,this.uvArray[6]=r.width/this.width,this.uvArray[7]=r.height/this.height,e.bufferSubData(e.ARRAY_BUFFER,0,this.uvArray);var n=s,h=this.texturePool.pop();h||(h=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindFramebuffer(e.FRAMEBUFFER,h.frameBuffer),e.clear(e.COLOR_BUFFER_BIT),e.disable(e.BLEND);for(var l=0;l0?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.applyFilterPass(d,r,f,x),this.texturePool.push(s),t._glFilterTexture=null},i.WebGLFilterManager.prototype.applyFilterPass=function(e,t,r,s){var o=this.gl,a=e.shaders[o.id];a||((a=new i.PixiShader(o)).fragmentSrc=e.fragmentSrc,a.uniforms=e.uniforms,a.init(!0),e.shaders[o.id]=a),this.renderSession.shaderManager.setShader(a),o.uniform2f(a.projectionVector,r/2,-s/2),o.uniform2f(a.offsetVector,0,0),e.uniforms.dimensions&&(e.uniforms.dimensions.value[0]=this.width,e.uniforms.dimensions.value[1]=this.height,e.uniforms.dimensions.value[2]=this.vertexArray[0],e.uniforms.dimensions.value[3]=this.vertexArray[5]),a.syncUniforms(),o.bindBuffer(o.ARRAY_BUFFER,this.vertexBuffer),o.vertexAttribPointer(a.aVertexPosition,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.uvBuffer),o.vertexAttribPointer(a.aTextureCoord,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.colorBuffer),o.vertexAttribPointer(a.colorAttribute,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,this.indexBuffer),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0),this.renderSession.drawCount++},i.WebGLFilterManager.prototype.initShaderBuffers=function(){var e=this.gl;this.vertexBuffer=e.createBuffer(),this.uvBuffer=e.createBuffer(),this.colorBuffer=e.createBuffer(),this.indexBuffer=e.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertexArray,e.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvArray,e.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),e.bindBuffer(e.ARRAY_BUFFER,this.colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colorArray,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),e.STATIC_DRAW)},i.WebGLFilterManager.prototype.destroy=function(){var e=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var t=0;t=0;e--){var t=this._glTextures[e],r=i.glContexts[e];r&&t&&r.deleteTexture(t)}this._glTextures.length=0,this.dirty()},i.BaseTexture.fromCanvas=function(e,t,r){return 0===e.width&&(e.width=1),0===e.height&&(e.height=1),r=r||1,new i.BaseTexture(e,t,r)},i.TextureSilentFail=!1,i.Texture=function(e,t,r,s){this.noFrame=!1,t||(this.noFrame=!0,t=new i.Rectangle(0,0,1,1)),e instanceof i.Texture&&(e=e.baseTexture),this.baseTexture=e,this.frame=t,this.trim=s,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=r||new i.Rectangle(0,0,1,1),this.rotated=!1,e.hasLoaded&&(this.noFrame&&(t=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(t))},i.Texture.prototype.constructor=i.Texture,i.Texture.prototype.onBaseTextureLoaded=function(){var e=this.baseTexture;this.noFrame&&(this.frame=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(this.frame)},i.Texture.prototype.destroy=function(e){e&&this.baseTexture.destroy(),this.valid=!1},i.Texture.prototype.setFrame=function(e){if(this.noFrame=!1,this.frame=e,this.width=e.width,this.height=e.height,this.crop.x=e.x,this.crop.y=e.y,this.crop.width=e.width,this.crop.height=e.height,this.trim||!(e.x+e.width>this.baseTexture.width||e.y+e.height>this.baseTexture.height))this.valid=e&&e.width&&e.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!i.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},i.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.width)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.width)/t,this._uvs.y2=(e.y+e.height)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.height)/r},i.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.height)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.height)/t,this._uvs.y2=(e.y+e.width)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.width)/r},i.Texture.fromCanvas=function(e,t){var r=i.BaseTexture.fromCanvas(e,t);return new i.Texture(r)},i.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.PIXI=i):"undefined"!=typeof define&&define.amd?define("PIXI",r.PIXI=i):r.PIXI=i,i}).call(this); //# sourceMappingURL=pixi.map \ No newline at end of file diff --git a/build/phaser.js b/build/phaser.js index 5b5bb104c..a42ddbc0c 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.10.3 "2018-03-22" - Built: Thu Mar 22 2018 10:06:51 +* v2.10.4 "2018-05-03" - Built: Thu May 03 2018 15:47:34 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -15575,7 +15575,7 @@ PIXI.Sprite.prototype._renderWebGL = function(renderSession, matrix) PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) { // If the sprite is not visible or the alpha is 0 then no need to render this element - if (!this.visible || this.alpha === 0 || !this.renderable || this.texture.crop.width <= 0 || this.texture.crop.height <= 0) + if (!this.visible || this.alpha === 0 || !this.renderable || this.texture.crop.width < 1 || this.texture.crop.height < 1) { return; } @@ -15676,6 +15676,14 @@ PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) dx /= resolution; dy /= resolution; + cw |= 0; + ch |= 0; + + if (!cw || !ch) + { + return; + } + if (this.tint !== 0xFFFFFF) { if (this.texture.requiresReTint || this.cachedTint !== this.tint) @@ -15693,9 +15701,6 @@ PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix) var cx = this.texture.crop.x; var cy = this.texture.crop.y; - cw = Math.floor(cw) - ch = Math.floor(ch) - renderSession.context.drawImage(this.texture.baseTexture.source, cx, cy, cw, ch, dx, dy, cw / resolution, ch / resolution); } @@ -21213,7 +21218,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.10.3', + VERSION: '2.10.4', /** * An array of Phaser game instances. @@ -23305,13 +23310,10 @@ Phaser.Ellipse.prototype = { if (out === undefined) { out = new Phaser.Point(); } var p = Math.random() * Math.PI * 2; - var r = Math.random(); + var r = Math.sqrt(Math.random()); - out.x = Math.sqrt(r) * Math.cos(p); - out.y = Math.sqrt(r) * Math.sin(p); - - out.x = this.x + (out.x * this.width / 2.0); - out.y = this.y + (out.y * this.height / 2.0); + out.x = this.centerX + 0.5 * r * Math.cos(p) * this.width; + out.y = this.centerY + 0.5 * r * Math.sin(p) * this.height; return out; @@ -23416,6 +23418,34 @@ Object.defineProperty(Phaser.Ellipse.prototype, "bottom", { }); +/** +* The x coordinate of the center of the Ellipse. +* @name Phaser.Ellipse#centerX +* @property {number} centerX +* @readonly +*/ +Object.defineProperty(Phaser.Ellipse.prototype, "centerX", { + + get: function () { + return this.x + 0.5 * this.width; + } + +}); + +/** +* The y coordinate of the center of the Ellipse. +* @name Phaser.Ellipse#centerY +* @property {number} centerY +* @readonly +*/ +Object.defineProperty(Phaser.Ellipse.prototype, "centerY", { + + get: function () { + return this.y + 0.5 * this.height; + } + +}); + /** * Determines whether or not this Ellipse object is empty. Will return a value of true if the Ellipse objects dimensions are less than or equal to 0; otherwise false. * If set to true it will reset all of the Ellipse objects properties to 0. An Ellipse object is empty if its width or height is less than or equal to 0. @@ -28524,7 +28554,7 @@ Phaser.State = function () { this.stage = null; /** - * @property {Phaser.StateManager} stage - A reference to the State Manager, which controls state changes. + * @property {Phaser.StateManager} state - A reference to the State Manager, which controls state changes. */ this.state = null; @@ -35627,7 +35657,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * @property {number} [GameConfig.scaleV=1] - Vertical scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. * @property {object} [GameConfig.state] -* @property {boolean} [GameConfig.transparent=false] +* @property {boolean|string} [GameConfig.transparent=false] - Sets {@link Phaser.Game#transparent}. `'notMultiplied'` disables the WebGL context attribute `premultipliedAlpha`. * @property {number} [GameConfig.trimH=0] - Horizontal trim for USER_SCALE scale mode. * @property {number} [GameConfig.trimV=0] - Vertical trim for USER_SCALE scale mode. * @property {number|string} [GameConfig.width=800] @@ -37022,12 +37052,13 @@ Phaser.Input.prototype = { /** * Adds a callback that is fired every time the activePointer receives a DOM move event such as a mousemove or touchmove. * - * The callback will be sent 4 parameters: + * The callback will be sent 5 parameters: * - * A reference to the Phaser.Pointer object that moved, - * The x position of the pointer, - * The y position, - * A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down). + * - A reference to the Phaser.Pointer object that moved + * - The x position of the pointer + * - The y position + * - A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down) + * - The DOM move event * * It will be called every time the activePointer moves, which in a multi-touch game can be a lot of times, so this is best * to only use if you've limited input to a single pointer (i.e. mouse or touch). @@ -40101,7 +40132,7 @@ Phaser.Pointer.prototype = { while (i--) { - input.moveCallbacks[i].callback.call(input.moveCallbacks[i].context, this, this.x, this.y, fromClick); + input.moveCallbacks[i].callback.call(input.moveCallbacks[i].context, this, this.x, this.y, fromClick, event); } // Easy out if we're dragging something and it still exists @@ -55757,15 +55788,15 @@ Phaser.Graphics.prototype.drawCircle = function (x, y, diameter) { * Draws an ellipse. * * @method Phaser.Graphics#drawEllipse - * @param x {Number} The X coordinate of the center of the ellipse - * @param y {Number} The Y coordinate of the center of the ellipse - * @param width {Number} The half width of the ellipse - * @param height {Number} The half height of the ellipse + * @param centerX {Number} The X coordinate of the center of the ellipse + * @param centerY {Number} The Y coordinate of the center of the ellipse + * @param halfWidth {Number} The half width of the ellipse + * @param halfHeight {Number} The half height of the ellipse * @return {Graphics} */ -Phaser.Graphics.prototype.drawEllipse = function (x, y, width, height) { +Phaser.Graphics.prototype.drawEllipse = function (centerX, centerY, halfWidth, halfHeight) { - this.drawShape(new Phaser.Ellipse(x, y, width, height)); + this.drawShape({x: centerX, y: centerY, width: halfWidth, height: halfHeight, type: Phaser.ELLIPSE}); return this; @@ -56998,7 +57029,7 @@ Phaser.Text = function (game, x, y, text, style) { /** * Specify a padding value which is added to the line width and height when calculating the Text size. - * ALlows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions. + * Allows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions. * @property {Phaser.Point} padding */ this.padding = new Phaser.Point(); @@ -57077,6 +57108,12 @@ Phaser.Text = function (game, x, y, text, style) { */ this.characterLimitSuffix = ''; + /** The text to use to measure the font width and height. + * @property {string} _testString + * @private + */ + this._testString = '|MÉq'; + /** * @property {number} _res - Internal canvas resolution var. * @private @@ -58222,7 +58259,14 @@ Phaser.Text.prototype.setText = function (text, immediate) { if (immediate === undefined) { immediate = false; } - this.text = text.toString() || ''; + text = text.toString() || ''; + + if (text === this._text) + { + return this; + } + + this.text = text; if (immediate) { @@ -58473,6 +58517,7 @@ Phaser.Text.prototype._renderCanvas = function (renderSession) { Phaser.Text.prototype.determineFontProperties = function (fontStyle) { var properties = Phaser.Text.fontPropertiesCache[fontStyle]; + var measureText = this.testString || '|MÉq'; if (!properties) { @@ -58483,8 +58528,8 @@ Phaser.Text.prototype.determineFontProperties = function (fontStyle) { context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('|MÉq').width); + var width = Math.ceil(context.measureText(measureText).width); + var baseline = Math.ceil(context.measureText(measureText).width); var height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -58499,7 +58544,7 @@ Phaser.Text.prototype.determineFontProperties = function (fontStyle) { context.textBaseline = 'alphabetic'; context.fillStyle = '#000'; - context.fillText('|MÉq', 0, baseline); + context.fillText(measureText, 0, baseline); if (!context.getImageData(0, 0, width, height)) { @@ -59261,6 +59306,28 @@ Object.defineProperty(Phaser.Text.prototype, 'height', { }); +/** +* The text used to measure the font's width and height +* @name Phaser.Text#testString +* @default '|MÉq' +*/ +Object.defineProperty(Phaser.Text.prototype, 'testString', { + + get: function() { + + return this._testString; + + }, + + set: function(value) { + + this._testString = value; + this.updateText(); + + } +}); + + Phaser.Text.fontPropertiesCache = {}; Phaser.Text.fontPropertiesCanvas = document.createElement('canvas'); @@ -71259,7 +71326,7 @@ Phaser.Animation.prototype = { /** * Plays this animation. - * + * * If you need to jump to a specific frame of this animation, then call `play` and immediately after it, * set the frame you require (i.e. `animation.play(); animation.frame = 4`). * @@ -71750,6 +71817,7 @@ Phaser.Animation.prototype = { this._frameIndex = this._frames.length - 1; this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]); + this.updateCurrentFrame(false); this.isPlaying = false; this.isFinished = true; @@ -79571,6 +79639,9 @@ Phaser.Sound.prototype = { if (this._sound && this.isPlaying && !this.allowMultiple && (this.override || forceRestart)) { + // Firefox calls onended() after _sound.stop(). Chrome and Safari do not. (#530) + this._sound.onended = null; + if (this.usingWebAudio) { if (this._sound.stop === undefined) @@ -79746,9 +79817,9 @@ Phaser.Sound.prototype = { if (this._sound && (this.game.device.cocoonJS || this._sound.readyState === 4)) { this._sound.play(); - + this._sound.loop = this.loop; - + // This doesn't become available until you call play(), wonderful ... this.totalDuration = this._sound.duration; @@ -83805,6 +83876,42 @@ Phaser.Utils.Debug = function (game) { }; +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_AUTO = 0; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_RECTANGLE = 1; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_CIRCLE = 2; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_POINT = 3; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_LINE = 4; + +/** +* @constant +* @type {integer} +*/ +Phaser.Utils.Debug.GEOM_ELLIPSE = 5; + Phaser.Utils.Debug.prototype = { /** @@ -84338,7 +84445,7 @@ Phaser.Utils.Debug.prototype = { * @param {number} x - X position of the pixel to be rendered. * @param {number} y - Y position of the pixel to be rendered. * @param {string} [color] - Color of the pixel (format is css color string). - * @param {number} [size=2] - The 'size' to render the pixel at. + * @param {number} [size=2] - The width and height of the rendered pixel. */ pixel: function (x, y, color, size) { @@ -84358,7 +84465,7 @@ Phaser.Utils.Debug.prototype = { * @param {Phaser.Rectangle|Phaser.Circle|Phaser.Ellipse|Phaser.Point|Phaser.Line} object - The geometry object to render. * @param {string} [color] - Color of the debug info to be rendered (format is css color string). * @param {boolean} [filled=true] - Render the objected as a filled (default, true) or a stroked (false) - * @param {number} [forceType=0] - Force rendering of a specific type. If 0 no type will be forced, otherwise 1 = Rectangle, 2 = Circle,3 = Point, 4 = Line and 5 = Ellipse. + * @param {number} [forceType=Phaser.Utils.Debug.GEOM_AUTO] - Force rendering of a specific type: (0) GEOM_AUTO, 1 GEOM_RECTANGLE, (2) GEOM_CIRCLE, (3) GEOM_POINT, (4) GEOM_LINE, (5) GEOM_ELLIPSE. */ geom: function (object, color, filled, forceType) { @@ -84373,7 +84480,9 @@ Phaser.Utils.Debug.prototype = { this.context.strokeStyle = color; this.context.lineWidth = this.lineWidth; - if (object instanceof Phaser.Rectangle || forceType === 1) + var Debug = Phaser.Utils.Debug; + + if (forceType === Debug.GEOM_RECTANGLE || object instanceof Phaser.Rectangle) { if (filled) { @@ -84384,7 +84493,7 @@ Phaser.Utils.Debug.prototype = { this.context.strokeRect(object.x - this.game.camera.x, object.y - this.game.camera.y, object.width, object.height); } } - else if (object instanceof Phaser.Circle || forceType === 2) + else if (forceType === Debug.GEOM_CIRCLE || object instanceof Phaser.Circle) { this.context.beginPath(); this.context.arc(object.x - this.game.camera.x, object.y - this.game.camera.y, object.radius, 0, Math.PI * 2, false); @@ -84399,11 +84508,11 @@ Phaser.Utils.Debug.prototype = { this.context.stroke(); } } - else if (object instanceof Phaser.Point || forceType === 3) + else if (forceType === Debug.GEOM_POINT || object instanceof Phaser.Point) { this.context.fillRect(object.x - this.game.camera.x, object.y - this.game.camera.y, 4, 4); } - else if (object instanceof Phaser.Line || forceType === 4) + else if (forceType === Debug.GEOM_LINE || object instanceof Phaser.Line) { this.context.beginPath(); this.context.moveTo((object.start.x + 0.5) - this.game.camera.x, (object.start.y + 0.5) - this.game.camera.y); @@ -84411,10 +84520,10 @@ Phaser.Utils.Debug.prototype = { this.context.closePath(); this.context.stroke(); } - else if (object instanceof Phaser.Ellipse || forceType === 5) + else if (forceType === Debug.GEOM_ELLIPSE || object instanceof Phaser.Ellipse) { this.context.beginPath(); - this.context.ellipse(object.x - this.game.camera.x, object.y - this.game.camera.y, object.width/2, object.height/2, 0,2 * Math.PI,false); + this.context.ellipse(object.centerX - this.game.camera.x, object.centerY - this.game.camera.y, object.width / 2, object.height / 2, 0, 2 * Math.PI, false); this.context.closePath(); if (filled) @@ -100038,7 +100147,7 @@ Phaser.Tilemap.prototype = { layer = this.getLayerIndex(layer); - if (!layer) + if (layer === null) { console.warn('No such layer name: ' + layerArg); } @@ -100328,7 +100437,7 @@ Phaser.Tilemap.prototype = { * If you pass `null` as the tile it will pass your call over to Tilemap.removeTile instead. * * @method Phaser.Tilemap#putTile - * @param {Phaser.Tile|number|null} tile - The index of this tile to set or a Phaser.Tile object. If null the tile is removed from the map. + * @param {Phaser.Tile|number|null} tile - The index of this tile to set or a Phaser.Tile object. If a Tile object, all of its data will be copied. If null the tile is removed from the map. * @param {number} x - X position to place the tile (given in tile units, not pixels) * @param {number} y - Y position to place the tile (given in tile units, not pixels) * @param {number|string|Phaser.TilemapLayer} [layer] - The layer to modify. @@ -100650,6 +100759,7 @@ Phaser.Tilemap.prototype = { /** * Scans the given area for tiles with an index matching tileA and swaps them with tileB. + * Only the tile indexes are modified. * * @method Phaser.Tilemap#swap * @param {number} tileA - First tile index. @@ -100768,6 +100878,7 @@ Phaser.Tilemap.prototype = { /** * Randomises a set of tiles in a given area. + * Only the tile indexes are modified. * * @method Phaser.Tilemap#random * @param {number} x - X position of the top left of the area to operate one, given in tiles, not pixels. @@ -100813,6 +100924,7 @@ Phaser.Tilemap.prototype = { /** * Shuffles a set of tiles in a given area. It will only randomise the tiles in that area, so if they're all the same nothing will appear to have changed! + * Only the tile indexes are modified. * * @method Phaser.Tilemap#shuffle * @param {number} x - X position of the top left of the area to operate one, given in tiles, not pixels. @@ -100855,6 +100967,7 @@ Phaser.Tilemap.prototype = { /** * Fills the given area with the specified tile. + * Only the tile indexes are modified. * * @method Phaser.Tilemap#fill * @param {number} index - The index of the tile that the area will be filled with. diff --git a/build/phaser.map b/build/phaser.map index 3c992b0fe..f4a86517a 100644 --- a/build/phaser.map +++ b/build/phaser.map @@ -1 +1 @@ -{"version":3,"sources":["phaser.js"],"names":["e","exports","module","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","acos","sqdist","3","Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","angle","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","circlePosi","circlePosj","enableFrictionBefore","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","getHitPoint","out","lerp","stop","../collision/Ray","13","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","_CreateEmptyTexture","gl","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","error","_fbErrors","targetTexture","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","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","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","stage","contextLost","viewport","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","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","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","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","circumferencePoint","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","returnPoints","del","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","intersectionWithRectangle","edgeIntersection","closestDistance","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","expand","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","volume","sameDimensions","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","updateFX","updateShake","checkBounds","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","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","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","webAudio","ie","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","countUpdate","countRender","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","CONTACT","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","_pointerOutHandler","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","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","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","_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","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","clockwise","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","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","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","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","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","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","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","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","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","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_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","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","AudioContext","webkitAudioContext","resumeWebAudio","setTouchLock","unlock","setTouchUnlock","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","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","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","setImpactEvents","impactHandler","setPostBroadphaseCallback","postBroadphaseHandler","_bodyCallbacks","_bodyCallbackContext","_groupCallbacks","_groupCallbackContext","setCollisionGroup","setWorldMaterial","updateBoundsCollisionGroup","setupWall","wall","fixedStepTime","impactCallback","createDistanceConstraint","getBody","createGearConstraint","createRevoluteConstraint","createLockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","setMaterial","createMaterial","createContactMaterial","getSprings","getConstraints","filterStatic","physicsPosition","query","toJSON","createCollisionGroup","bitmask","createSpring","worldA","worldB","localA","localB","createRotationalSpring","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","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","adjustSize","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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KAAWknC,EAAO/hD,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAIW,GACxB/0D,EAASitB,KAAWmnC,EAAIrW,GAExB/9C,EAASitB,KAAWknC,EAAOzd,MAE3B12C,EAASitB,KAAWktB,EAIpBn6C,EAASitB,KAAWywB,EACpB19C,EAASitB,KAAW4wB,EAEpB79C,EAASitB,KAAWknC,EAAOttD,SAASS,EACpCtH,EAASitB,KAAWknC,EAAOttD,SAASU,EAGpCvH,EAASitB,KAAWknC,EAAO/hD,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAItW,GACxB99C,EAASitB,KAAWmnC,EAAIrW,GAExB/9C,EAASitB,KAAWknC,EAAOzd,MAE3B12C,EAASitB,KAAWktB,EAGpBn6C,EAASitB,KAAWywB,EACpB19C,EAASitB,KAAW2wB,EAEpB59C,EAASitB,KAAWknC,EAAOttD,SAASS,EACpCtH,EAASitB,KAAWknC,EAAOttD,SAASU,EAGpCvH,EAASitB,KAAWknC,EAAO/hD,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAIpW,GACxBh+C,EAASitB,KAAWmnC,EAAInW,GAExBj+C,EAASitB,KAAWknC,EAAOzd,MAE3B12C,EAASitB,KAAWktB,EAKpBn6C,EAASitB,KAAW0wB,EACpB39C,EAASitB,KAAW2wB,EAEpB59C,EAASitB,KAAWknC,EAAOttD,SAASS,EACpCtH,EAASitB,KAAWknC,EAAOttD,SAASU,EAGpCvH,EAASitB,KAAWknC,EAAO/hD,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAIlW,GACxB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","file":"phaser.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser.js"],"names":["e","exports","module","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","acos","sqdist","3","Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","angle","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","circlePosi","circlePosj","enableFrictionBefore","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","getHitPoint","out","lerp","stop","../collision/Ray","13","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","_CreateEmptyTexture","gl","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","error","_fbErrors","targetTexture","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","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","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","stage","contextLost","viewport","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","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","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","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","circumferencePoint","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","returnPoints","del","p0Exists","pointOnSegment","p1Exists","Ellipse","centerX","centerY","normx","normy","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","intersectionWithRectangle","edgeIntersection","closestDistance","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","expand","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","volume","sameDimensions","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","updateFX","updateShake","checkBounds","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","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","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","webAudio","ie","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","countUpdate","countRender","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","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","CONTACT","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","_pointerOutHandler","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","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","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","_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","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","clockwise","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","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","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","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","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","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","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","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","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","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_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","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","AudioContext","webkitAudioContext","resumeWebAudio","setTouchLock","unlock","setTouchUnlock","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","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","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","setImpactEvents","impactHandler","setPostBroadphaseCallback","postBroadphaseHandler","_bodyCallbacks","_bodyCallbackContext","_groupCallbacks","_groupCallbackContext","setCollisionGroup","setWorldMaterial","updateBoundsCollisionGroup","setupWall","wall","fixedStepTime","impactCallback","createDistanceConstraint","getBody","createGearConstraint","createRevoluteConstraint","createLockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","setMaterial","createMaterial","createContactMaterial","getSprings","getConstraints","filterStatic","physicsPosition","query","toJSON","createCollisionGroup","bitmask","createSpring","worldA","worldB","localA","localB","createRotationalSpring","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","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","adjustSize","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","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,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAIW,GACxB/0D,EAASitB,KAAWmnC,EAAIrW,GAExB/9C,EAASitB,KAAWknC,EAAOzd,MAE3B12C,EAASitB,KAAWktB,EAIpBn6C,EAASitB,KAAWywB,EACpB19C,EAASitB,KAAW4wB,EAEpB79C,EAASitB,KAAWknC,EAAOttD,SAASS,EACpCtH,EAASitB,KAAWknC,EAAOttD,SAASU,EAGpCvH,EAASitB,KAAWknC,EAAO/hD,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAItW,GACxB99C,EAASitB,KAAWmnC,EAAIrW,GAExB/9C,EAASitB,KAAWknC,EAAOzd,MAE3B12C,EAASitB,KAAWktB,EAGpBn6C,EAASitB,KAAWywB,EACpB19C,EAASitB,KAAW2wB,EAEpB59C,EAASitB,KAAWknC,EAAOttD,SAASS,EACpCtH,EAASitB,KAAWknC,EAAOttD,SAASU,EAGpCvH,EAASitB,KAAWknC,EAAO/hD,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAIpW,GACxBh+C,EAASitB,KAAWmnC,EAAInW,GAExBj+C,EAASitB,KAAWknC,EAAOzd,MAE3B12C,EAASitB,KAAWktB,EAKpBn6C,EAASitB,KAAW0wB,EACpB39C,EAASitB,KAAW2wB,EAEpB59C,EAASitB,KAAWknC,EAAOttD,SAASS,EACpCtH,EAASitB,KAAWknC,EAAOttD,SAASU,EAGpCvH,EAASitB,KAAWknC,EAAO/hD,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAIlW,GACxBl+C,EAASitB,KA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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 aa6c2da46..b6bd880d3 100644 --- a/build/phaser.min.js +++ b/build/phaser.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.10.3 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -!function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,i,s){function n(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(r)return r(o,!0);throw new Error("Cannot find module '"+o+"'")}var l=i[o]={exports:{}};e[o][0].call(l.exports,function(t){var i=e[o][1][t];return n(i||t)},l,l.exports,t,e,i,s)}return i[o].exports}for(var r="function"==typeof require&&require,o=0;o=0&&h<=1&&l>=0&&l<=1}},{"./Scalar":4}],2:[function(t,e,i){function s(){}e.exports=s,s.area=function(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])},s.left=function(t,e,i){return s.area(t,e,i)>0},s.leftOn=function(t,e,i){return s.area(t,e,i)>=0},s.right=function(t,e,i){return s.area(t,e,i)<0},s.rightOn=function(t,e,i){return s.area(t,e,i)<=0};var n=[],r=[];s.collinear=function(t,e,i,o){if(o){var a=n,h=r;a[0]=e[0]-t[0],a[1]=e[1]-t[1],h[0]=i[0]-e[0],h[1]=i[1]-e[1];var l=a[0]*h[0]+a[1]*h[1],c=Math.sqrt(a[0]*a[0]+a[1]*a[1]),u=Math.sqrt(h[0]*h[0]+h[1]*h[1]);return Math.acos(l/(c*u))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var s=e;se[t][0])&&(t=i);o.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},s.prototype.reverse=function(){for(var t=[],e=0,i=this.vertices.length;e!==i;e++)t.push(this.vertices.pop());this.vertices=t},s.prototype.isReflex=function(t){return o.right(this.at(t-1),this.at(t),this.at(t+1))};var h=[],l=[];s.prototype.canSee=function(t,e){var i,s,n=h,a=l;if(o.leftOn(this.at(t+1),this.at(t),this.at(e))&&o.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;s=o.sqdist(this.at(t),this.at(e));for(var c=0;c!==this.vertices.length;++c)if((c+1)%this.vertices.length!==t&&c!==t&&o.leftOn(this.at(t),this.at(e),this.at(c+1))&&o.rightOn(this.at(t),this.at(e),this.at(c))&&(n[0]=this.at(t),n[1]=this.at(e),a[0]=this.at(c),a[1]=this.at(c+1),i=r.lineInt(n,a),o.sqdist(this.at(t),i)0?this.slice(t):[this]},s.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],i=0;ia)return console.warn("quickDecomp: max level ("+a+") reached."),t;for(var T=0;Tm&&(m+=this.vertices.length),g=Number.MAX_VALUE,m3&&i>=0;--i)o.collinear(this.at(i-1),this.at(i),this.at(i+1),t)&&(this.vertices.splice(i%this.vertices.length,1),i--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,i){function s(){}e.exports=s,s.eq=function(t,e,i){return i=i||0,Math.abs(t-e) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(t,e,i){function s(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=s;var r=n.create();s.prototype.setFromPoints=function(t,e,i,s){var o=this.lowerBound,a=this.upperBound;"number"!=typeof i&&(i=0),0!==i?n.rotate(o,t[0],i):n.copy(o,t[0]),n.copy(a,o);for(var h=Math.cos(i),l=Math.sin(i),c=1;ca[f]&&(a[f]=u[f]),u[f]i&&(this.lowerBound[e]=i);var s=t.upperBound[e];this.upperBound[e]h?-1:a}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,i){function s(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=s.AABB}var n=t("../math/vec2"),r=t("../objects/Body");e.exports=s,s.AABB=1,s.BOUNDING_CIRCLE=2,s.prototype.setWorld=function(t){this.world=t},s.prototype.getCollisionPairs=function(t){};var o=n.create();s.boundingRadiusCheck=function(t,e){n.sub(o,t.position,e.position);var i=n.squaredLength(o),s=t.boundingRadius+e.boundingRadius;return i<=s*s},s.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},s.prototype.boundingVolumeCheck=function(t,e){var i;switch(this.boundingVolumeType){case s.BOUNDING_CIRCLE:i=s.boundingRadiusCheck(t,e);break;case s.AABB:i=s.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return i},s.canCollide=function(t,e){var i=r.KINEMATIC,s=r.STATIC;return(t.type!==s||e.type!==s)&&(!(t.type===i&&e.type===s||t.type===s&&e.type===i)&&((t.type!==i||e.type!==i)&&((t.sleepState!==r.SLEEPING||e.sleepState!==r.SLEEPING)&&!(t.sleepState===r.SLEEPING&&e.type===s||e.sleepState===r.SLEEPING&&t.type===s))))},s.NAIVE=1,s.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,i){function s(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.getCollisionPairs=function(t){var e=t.bodies,i=this.result;i.length=0;for(var s=0,r=e.length;s!==r;s++)for(var o=e[s],a=0;az&&Y0)for(G=0;GMath.pow(g,2))return 0;if(u)return!0;var m=this.createContactEquation(t,n,e,r);return a(m.normalA,l,i),o.normalize(m.normalA,m.normalA),o.scale(m.contactPointA,m.normalA,d),o.scale(m.contactPointB,m.normalA,-p),h(m.contactPointA,m.contactPointA,i),a(m.contactPointA,m.contactPointA,t.position),h(m.contactPointB,m.contactPointB,l),a(m.contactPointB,m.contactPointB,n.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[m.PLANE|m.CONVEX]=s.prototype[m.PLANE|m.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,g=_,m=0;o.rotate(f,v,s);for(var y=0;y!==r.vertices.length;y++){var w=r.vertices[y];if(o.rotate(p,w,u),h(p,p,c),a(g,p,i),l(g,f)<=0){if(d)return!0;m++;var T=this.createContactEquation(t,n,e,r);a(g,p,i),o.copy(T.normalA,f);var P=l(g,T.normalA);o.scale(g,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,g),a(T.contactPointA,T.contactPointA,t.position),this.contactEquations.push(T),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(T))}}return this.enableFrictionReduction&&this.enableFriction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},s.prototype[m.PARTICLE|m.PLANE]=s.prototype.particlePlane=function(t,e,i,s,n,r,h,c,u){var d=x,p=b;c=c||0,a(d,i,h),o.rotate(p,v,c);var f=l(d,p);if(f>0)return 0;if(u)return!0;var g=this.createContactEquation(n,t,r,e);return o.copy(g.normalA,p),o.scale(d,g.normalA,f),a(g.contactPointA,i,d),a(g.contactPointA,g.contactPointA,n.position),a(g.contactPointB,i,t.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[m.CIRCLE|m.PARTICLE]=s.prototype.circleParticle=function(t,e,i,s,n,r,l,c,u){var d=x;if(a(d,l,i),o.squaredLength(d)>Math.pow(e.radius,2))return 0;if(u)return!0;var p=this.createContactEquation(t,n,e,r);return o.copy(p.normalA,d),o.normalize(p.normalA,p.normalA),o.scale(p.contactPointA,p.normalA,e.radius),h(p.contactPointA,p.contactPointA,i),a(p.contactPointA,p.contactPointA,t.position),a(p.contactPointB,l,n.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1};var K=new f({radius:1}),J=o.create(),Q=o.create();o.create();s.prototype[m.PLANE|m.CAPSULE]=s.prototype.planeCapsule=function(t,e,i,s,n,r,a,l,c){var u=J,d=Q,p=K;o.set(u,-r.length/2,0),o.rotate(u,u,l),h(u,u,a),o.set(d,r.length/2,0),o.rotate(d,d,l),h(d,d,a),p.radius=r.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var g=this.circlePlane(n,p,u,0,t,e,i,s,c),m=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return g||m;var y=g+m;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[m.CIRCLE|m.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,g=i,m=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,g,y),o.rotate(P,v,w);var S=l(P,T);if(S>f.radius)return 0;if(d)return!0;var A=this.createContactEquation(m,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,g),a(A.contactPointB,A.contactPointB,p.position),o.scale(C,A.normalA,S),a(A.contactPointA,T,C),h(A.contactPointA,A.contactPointA,y),a(A.contactPointA,A.contactPointA,m.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[m.CONVEX]=s.prototype[m.CONVEX|m.BOX]=s.prototype[m.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var g=x,m=b,y=_,v=w,P=T,E=C,M=S,R=A,L=0,f="number"==typeof f?f:0;if(!s.findSeparatingAxis(e,i,n,c,u,d,g))return 0;a(M,u,i),l(g,M)>0&&o.scale(g,g,-1);var B=s.getClosestEdge(e,n,g,!0),I=s.getClosestEdge(c,d,g);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var q;q=k,k=F,F=q,q=D,D=U,U=q,q=G,G=N,N=q,q=X,X=W,W=q,q=j,j=V,V=q}for(var H=F;H=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,m,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,m,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,m,N),h(Z.contactPointB,Z.contactPointB,N),a(Z.contactPointB,Z.contactPointB,V.position),this.contactEquations.push(Z),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z))}}}return this.enableFrictionReduction&&this.enableFriction&&L&&this.frictionEquations.push(this.createFrictionFromAverage(L)),L};var Z=o.fromValues(0,0);s.projectConvexOntoAxis=function(t,e,i,s,n){var r,a,h=null,c=null,u=Z;o.rotate(u,s,-i);for(var d=0;dh)&&(h=a),(null===c||ah){var p=c;c=h,h=p}var f=l(e,s);o.set(n,c+f,h+f)};var $=o.fromValues(0,0),tt=o.fromValues(0,0),et=o.fromValues(0,0),it=o.fromValues(0,0),st=o.fromValues(0,0),nt=o.fromValues(0,0);s.findSeparatingAxis=function(t,e,i,n,r,h,l){var c=null,u=!1,d=!1,p=$,f=tt,g=et,m=it,v=st,x=nt;if(t instanceof y&&n instanceof y)for(P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(C=0;2!==C;C++){0===C?o.set(m,0,1):1===C&&o.set(m,1,0),0!==_&&o.rotate(m,m,_),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0),u=(S=T[0]-w[1])<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}else for(var P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(var C=0;C!==b.vertices.length;C++){o.rotate(f,b.vertices[C],_),o.rotate(g,b.vertices[(C+1)%b.vertices.length],_),a(p,g,f),o.rotate90cw(m,p),o.normalize(m,m),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0);var S=T[0]-w[1];u=S<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}return d};var rt=o.fromValues(0,0),ot=o.fromValues(0,0),at=o.fromValues(0,0);s.getClosestEdge=function(t,e,i,s){var n=rt,r=ot,h=at;o.rotate(n,i,-e),s&&o.scale(n,n,-1);for(var c=-1,u=t.vertices.length,d=-1,p=0;p!==u;p++){a(r,t.vertices[(p+1)%u],t.vertices[p%u]),o.rotate90cw(h,r),o.normalize(h,h);var f=l(h,n);(-1===c||f>d)&&(c=p%u,d=f)}return c};var ht=o.create(),lt=o.create(),ct=o.create(),ut=o.create(),dt=o.create(),pt=o.create(),ft=o.create();s.prototype[m.CIRCLE|m.HEIGHTFIELD]=s.prototype.circleHeightfield=function(t,e,i,s,n,r,l,c,u,d){var p=r.heights,d=d||e.radius,f=r.elementWidth,g=lt,m=ht,y=dt,v=ft,x=pt,b=ct,_=ut,w=Math.floor((i[0]-d-l[0])/f),T=Math.ceil((i[0]+d-l[0])/f);w<0&&(w=0),T>=p.length&&(T=p.length-1);for(var P=p[w],C=p[T],S=w;SP&&(P=p[S]);if(i[1]-d>P)return!u&&0;for(var A=!1,S=w;S=b[0]&&m[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(g,x,-E),o.add(y,m,g),o.copy(v,x);M=this.createContactEquation(n,t,r,e);o.copy(M.normalA,v),o.scale(M.contactPointB,M.normalA,-d),h(M.contactPointB,M.contactPointB,i),a(M.contactPointB,M.contactPointB,t.position),o.copy(M.contactPointA,y),o.sub(M.contactPointA,M.contactPointA,n.position),this.contactEquations.push(M),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}if(A=!1,d>0)for(S=w;S<=T;S++)if(o.set(b,S*f,p[S]),o.add(b,b,l),o.sub(g,i,b),o.squaredLength(g)=c.length&&(y=c.length-1);for(var v=c[m],x=c[y],b=m;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=m;b=0||r.containsPoint(this.from))&&this.intersectBody(t,n)}};var o=r.create();s.prototype.intersectBody=function(t,e){var i=this.checkCollisionResponse;if(!i||e.collisionResponse)for(var s=o,n=0,a=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=r,this._currentShape=e,e.raycast(t,this,s,i),this._currentBody=this._currentShape=null)},s.prototype.getAABB=function(t){var e=this.to,i=this.from;r.set(t.lowerBound,Math.min(e[0],i[0]),Math.min(e[1],i[1])),r.set(t.upperBound,Math.max(e[0],i[0]),Math.max(e[1],i[1]))};r.create();s.prototype.reportIntersection=function(t,e,i,n){this.from,this.to;var o=this._currentShape,a=this._currentBody;if(!(this.skipBackfaces&&r.dot(i,this.direction)>0))switch(this.mode){case s.ALL:t.set(i,o,a,e,n),this.callback(t);break;case s.CLOSEST:(e=0&&!(t[r].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);r--)t[r+1]=t[r];t[r+1]=n}return t},s.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;s.sortAxisList(t,e)},s.prototype.getCollisionPairs=function(t){var e=this.axisList,i=this.result,s=this.axisIndex;i.length=0;for(var n=e.length;n--;){var o=e[n];o.aabbNeedsUpdate&&o.updateAABB()}this.sortList();for(var a=0,h=0|e.length;a!==h;a++)for(var l=e[a],c=a+1;cthis.upperLimit&&(r.maxForce=0,r.minForce=-this.maxForce,this.distance=this.upperLimit,u=!0),this.lowerLimitEnabled&&this.positioni?(a.scale(n.normalA,l,-1),a.sub(n.contactPointA,c,o.position),a.sub(n.contactPointB,u,h.position),a.scale(f,l,i),a.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&va?(f.angle=a,-1===n.indexOf(f)&&n.push(f)):-1!==(y=n.indexOf(f))&&n.splice(y,1),this.lowerLimitEnabled&&m>1;if(e<3)return[];for(var i=[],n=[],r=0;r3;){var a=n[(r+0)%o],h=n[(r+1)%o],l=n[(r+2)%o],c=t[2*a],u=t[2*a+1],d=t[2*h],p=t[2*h+1],f=t[2*l],g=t[2*l+1],m=!1;if(s._convex(c,u,d,p,f,g)){m=!0;for(var y=0;y3*o)break}return i.push(n[0],n[1],n[2]),i},s._PointInTriangle=function(t,e,i,s,n,r,o,a){var h=o-i,l=a-s,c=n-i,u=r-s,d=t-i,p=e-s,f=h*h+l*l,g=h*c+l*u,m=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-g*g),b=(y*m-g*v)*x,_=(f*v-g*m)*x;return b>=0&&_>=0&&b+_<1},s._convex=function(t,e,i,s,n,r){return(e-s)*(n-i)+(i-t)*(r-s)>=0},e.exports=s},{}],30:[function(t,e,i){var s=e.exports={},n=t("../utils/Utils");s.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},s.crossVZ=function(t,e,i){return s.rotate(t,e,-Math.PI/2),s.scale(t,t,i),t},s.crossZV=function(t,e,i){return s.rotate(t,i,Math.PI/2),s.scale(t,t,e),t},s.rotate=function(t,e,i){if(0!==i){var s=Math.cos(i),n=Math.sin(i),r=e[0],o=e[1];t[0]=s*r-n*o,t[1]=n*r+s*o}else t[0]=e[0],t[1]=e[1]},s.rotate90cw=function(t,e){var i=e[0],s=e[1];t[0]=s,t[1]=-i},s.toLocalFrame=function(t,e,i,n){s.copy(t,e),s.sub(t,t,i),s.rotate(t,t,-n)},s.toGlobalFrame=function(t,e,i,n){s.copy(t,e),s.rotate(t,t,n),s.add(t,t,i)},s.vectorToLocalFrame=function(t,e,i){s.rotate(t,e,-i)},s.vectorToGlobalFrame=function(t,e,i){s.rotate(t,e,i)},s.centroid=function(t,e,i,n){return s.add(t,e,i),s.add(t,t,n),s.scale(t,t,1/3),t},s.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var i=new n.ARRAY_TYPE(2);return i[0]=t,i[1]=e,i},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,i){return t[0]=e,t[1]=i,t},s.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},s.subtract=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},s.sub=s.subtract,s.multiply=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},s.mul=s.multiply,s.divide=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},s.div=s.divide,s.scale=function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},s.distance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},s.dist=s.distance,s.squaredDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},s.len=s.length,s.squaredLength=function(t){var e=t[0],i=t[1];return e*e+i*i},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.normalize=function(t,e){var i=e[0],s=e[1],n=i*i+s*s;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},s.lerp=function(t,e,i,s){var n=e[0],r=e[1];return t[0]=n+s*(i[0]-n),t[1]=r+s*(i[1]-r),t},s.reflect=function(t,e,i){var s=e[0]*i[0]+e[1]*i[1];t[0]=e[0]-2*i[0]*s,t[1]=e[1]-2*i[1]*s},s.getLineSegmentsIntersection=function(t,e,i,n,r){var o=s.getLineSegmentsIntersectionFraction(e,i,n,r);return!(o<0)&&(t[0]=e[0]+o*(i[0]-e[0]),t[1]=e[1]+o*(i[1]-e[1]),!0)},s.getLineSegmentsIntersectionFraction=function(t,e,i,s){var n,r,o=e[0]-t[0],a=e[1]-t[1],h=s[0]-i[0],l=s[1]-i[1];return n=(-a*(t[0]-i[0])+o*(t[1]-i[1]))/(-h*a+o*l),r=(h*(t[1]-i[1])-l*(t[0]-i[0]))/(-h*a+o*l),n>=0&&n<=1&&r>=0&&r<=1?r:-1}},{"../utils/Utils":57}],31:[function(t,e,i){function s(t){t=t||{},c.call(this),this.id=t.id||++s._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=s.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=s.DYNAMIC:this.type=s.STATIC,this.boundingRadius=0,this.aabb=new l,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=s.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),r=t("poly-decomp"),o=t("../shapes/Convex"),a=t("../collision/RaycastResult"),h=t("../collision/Ray"),l=t("../collision/AABB"),c=t("../events/EventEmitter");e.exports=s,s.prototype=new c,s.prototype.constructor=s,s._idCounter=0,s.prototype.updateSolveMassProperties=function(){this.sleepState===s.SLEEPING||this.type===s.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},s.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},s.prototype.getArea=function(){for(var t=0,e=0;ei&&(i=o+a)}this.boundingRadius=i},s.prototype.addShape=function(t,e,i){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=i||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},s.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},s.prototype.updateMassProperties=function(){if(this.type===s.STATIC||this.type===s.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,i=this.mass/e,r=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var o=0;o0?1/r:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();s.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var i=n.crossLength(e,t);this.angularForce+=i}};var p=n.create(),f=n.create(),g=n.create();s.prototype.applyForceLocal=function(t,e){e=e||g;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var m=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=m;if(n.scale(i,t,this.invMass),n.multiply(i,this.massMultiplier,i),n.add(this.velocity,i,this.velocity),e){var r=n.crossLength(e,t);r*=this.invInertia,this.angularVelocity+=r}}};var y=n.create(),v=n.create(),x=n.create();s.prototype.applyImpulseLocal=function(t,e){e=e||x;var i=y,s=v;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyImpulse(i,s)},s.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},s.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},s.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},s.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},s.prototype.fromPolygon=function(t,e){e=e||{};for(h=this.shapes.length;h>=0;--h)this.removeShape(this.shapes[h]);var i=new r.Polygon;if(i.vertices=t,i.makeCCW(),"number"==typeof e.removeCollinearPoints&&i.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!i.isSimple())return!1;this.concavePath=i.vertices.slice(0);for(h=0;h=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=s.AWAKE):(this.idleTime+=i,this.sleepState=s.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},s.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var T=n.create(),P=n.create();s.prototype.integrate=function(t){var e=this.invMass,i=this.force,s=this.position,r=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(T,i,t*e),n.multiply(T,this.massMultiplier,T),n.add(r,T,r),this.integrateToTimeOfImpact(t)||(n.scale(P,r,t),n.add(s,s,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var C=new a,S=new h({mode:h.ALL}),A=n.create(),E=n.create(),M=n.create(),R=n.create();s.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=l&&h=0&&(r.rotate(p,u,s),r.scale(p,p,2*y-1),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}for(var x=Math.pow(this.radius,2)+Math.pow(m,2),y=0;y<2;y++){r.set(f,m*(2*y-1),0),r.toGlobalFrame(f,f,i,s);var b=Math.pow(o[0]-n[0],2)+Math.pow(o[1]-n[1],2),_=2*((o[0]-n[0])*(n[0]-f[0])+(o[1]-n[1])*(n[1]-f[1])),w=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),T=Math.pow(_,2)-4*b*w;if(!(T<0))if(0===T){if(r.lerp(d,n,o,T),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(T),C=1/(2*b),S=(-_-P)*C,A=(-_+P)*C;if(S>=0&&S<=1&&(r.lerp(d,n,o,S),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,S,p,-1),t.shouldStop(e))))return;if(A>=0&&A<=1&&(r.lerp(d,n,o,A),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,A,p,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},s.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},s.prototype.computeAABB=function(t,e,i){var s=this.radius;r.set(t.upperBound,s,s),r.set(t.lowerBound,-s,-s),e&&(r.add(t.lowerBound,t.lowerBound,e),r.add(t.upperBound,t.upperBound,e))};var o=r.create(),a=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,h=e.to,l=this.radius,c=Math.pow(h[0]-n[0],2)+Math.pow(h[1]-n[1],2),u=2*((h[0]-n[0])*(n[0]-i[0])+(h[1]-n[1])*(n[1]-i[1])),d=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)-Math.pow(l,2),p=Math.pow(u,2)-4*c*d,f=o,g=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,p,g,-1);else{var m=Math.sqrt(p),y=1/(2*c),v=(-u-m)*y,x=(-u+m)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,v,g,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,x,g,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,i){function s(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],i=0;in)&&(n=s),(null===o||sn){var l=o;o=n,n=l}r.set(e,o,n)},s.prototype.projectOntoWorldAxis=function(t,e,i,s){var n=h;this.projectOntoLocalAxis(t,s),0!==i?r.rotate(n,t,i):n=t;var o=r.dot(e,n);r.set(s,s[0]+o,s[1]+o)},s.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=s)}this.boundingRadius=Math.sqrt(e)},s.triangleArea=function(t,e,i){return.5*((e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1]))},s.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,i=0;i!==t.length;i++){var n=t[i],r=e[n[0]],o=e[n[1]],a=e[n[2]],h=s.triangleArea(r,o,a);this.area+=h}},s.prototype.computeAABB=function(t,e,i){t.setFromPoints(this.vertices,e,i,0)};var f=r.create(),g=r.create(),m=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=g,a=m,h=this.vertices;r.toLocalFrame(n,e.from,i,s),r.toLocalFrame(o,e.to,i,s);for(var l=h.length,c=0;c=0&&(r.sub(a,d,u),r.rotate(a,a,-Math.PI/2+s),r.normalize(a,a),e.reportIntersection(t,p,a,c))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,i){function s(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],i=t[0],s=0;s!==t.length;s++){var n=t[s];n>e&&(e=n),nv){var x=y;y=v,v=x}for(var b=0;b=0&&(r.sub(d,f,p),r.rotate(d,d,s+Math.PI/2),r.normalize(d,d),e.reportIntersection(t,_,d,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var o=[r.create(),r.create()];s.prototype.computeAABB=function(t,e,i){var s=this.length/2;r.set(o[0],-s,0),r.set(o[1],s,0),t.setFromPoints(o,e,i,0)};r.create();var a=r.create(),h=r.create(),l=r.create(),c=r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){var n=e.from,o=e.to,u=h,d=l,p=this.length/2;r.set(u,-p,0),r.set(d,p,0),r.toGlobalFrame(u,u,i,s),r.toGlobalFrame(d,d,i,s);var f=r.getLineSegmentsIntersectionFraction(u,d,n,o);if(f>=0){var g=a;r.rotate(g,c,s),e.reportIntersection(t,f,g,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,i){function s(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=0},s.prototype.computeAABB=function(t,e,i){r.copy(t.lowerBound,e),r.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,i){function s(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},s.prototype.computeAABB=function(t,e,i){var s=i%(2*Math.PI),n=r.set,o=t.lowerBound,a=t.upperBound;n(o,-1e7,-1e7),n(a,1e7,1e7),0===s?a[1]=0:s===Math.PI/2?o[0]=0:s===Math.PI?o[1]=0:s===3*Math.PI/2&&(a[0]=0)},s.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var o=r.create(),a=(r.create(),r.create(),r.create()),h=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,l=e.to,c=e.direction,u=o,d=a,p=h;r.set(d,0,1),r.rotate(d,d,s),r.sub(p,n,i);var f=r.dot(p,d);if(r.sub(p,l,i),!(f*r.dot(p,d)>0||r.squaredDistance(n,l)p*a&&(g=p*a-u),r[t]+=g,e.addToWlambda(g),g}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},s.prototype.getByKey=function(t){return t|=0,this.data[t]},s.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},s.prototype.set=function(t,e,i){if(!i)throw new Error("No data!");var s=this.getKey(t,e);return this.data[s]||this.keys.push(s),this.data[s]=i,s},s.prototype.reset=function(){for(var t=this.data,e=this.keys,i=e.length;i--;)delete t[e[i]];e.length=0},s.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var i=t.keys[e];this.data[i]=t.data[i]}}},{"./Utils":57}],57:[function(t,e,i){function s(){}e.exports=s,s.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var i=0,s=e.length;i!==s;++i)t.push(e[i])},s.splice=function(t,e,i){i=i||1;for(var s=e,n=t.length-i;s=t&&s=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);q=u.length;for(T=0;T!==q;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(H=n[T])._wakeUpAfterNarrowphase&&(H.wakeUp(),H._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var q=u.length;for(T=0;T!==q;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||q)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==q;T++)v.appendArray(g.equations,u[T].equations);g.split(this);for(T=0;T!==g.islands.length;T++)(K=g.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==q;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var H=n[T];H.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T0,t.frictionCoefficient=c.friction;var g;g=e.type===d.STATIC||e.type===d.KINEMATIC?o.mass:o.type===d.STATIC||o.type===d.KINEMATIC?e.mass:e.mass*o.mass/(e.mass+o.mass),t.slipForce=c.friction*u*g,t.restitution=c.restitution,t.surfaceVelocity=c.surfaceVelocity,t.frictionStiffness=c.frictionStiffness,t.frictionRelaxation=c.frictionRelaxation,t.stiffness=c.stiffness,t.relaxation=c.relaxation,t.contactSkinSize=c.contactSkinSize,t.enabledEquations=e.collisionResponse&&o.collisionResponse&&i.collisionResponse&&a.collisionResponse;var m=t[i.type|a.type],y=0;if(m){var v=i.sensor||a.sensor,x=t.frictionEquations.length;y=i.type=2*Math.pow(o.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),o.allowSleep&&o.type===d.DYNAMIC&&o.sleepState===d.SLEEPING&&e.sleepState===d.AWAKE&&e.type!==d.STATIC&&r.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(o._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,i,o,a),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(i,a)){var _=this.beginContactEvent;if(_.shapeA=i,_.shapeB=a,_.bodyA=e,_.bodyB=o,_.contactEquations.length=0,"number"==typeof y)for(P=t.contactEquations.length-y;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var i=this.bodies,e=i.length-1;e>=0;e--)this.removeBody(i[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var r=this.contactMaterials,e=r.length-1;e>=0;e--)this.removeContactMaterial(r[e]);s.apply(this)};var C=r.create(),S=(r.fromValues(0,0),r.fromValues(0,0));s.prototype.hitTest=function(t,e,i){i=i||0;var s=new d({position:t}),n=new c,u=t,p=C,f=S;s.addShape(n);for(var g=this.narrowphase,m=[],y=0,v=e.length;y!==v;y++)for(var x=e[y],b=0,_=x.shapes.length;b!==_;b++){var w=x.shapes[b];r.rotate(p,w.position,x.angle),r.add(p,p,x.position);var T=w.angle+x.angle;(w instanceof o&&g.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&g.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&g.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&g.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))0?Math.acos(i/u):-Math.acos(i/u),this.worldScale.x=u,this.worldScale.y=c/u}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=c/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,w=x.c,T=x.d,P=x.tx,C=x.ty,S=b*m+w*v+P,A=T*v+_*m+C,E=b*g+w*v+P,M=T*v+_*g+C,R=b*g+w*y+P,L=T*y+_*g+C,B=b*m+w*y+P,I=T*y+_*m+C;u=S,d=A,c=A,l=B<(l=R<(l=E<(l=S)?E:l)?R:l)?B:l,c=I<(c=L<(c=M(u=R>(u=E>u?E:u)?R:u)?B:u,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=c,f.width=u-l,f.height=d-c,e)for(t.worldTransform=r,n=0;n(f=T>(f=_>(f=x>f?x:f)?_:f)?T:f)?C:f,g=S>(g=P>(g=w>(g=b>g?b:g)?w:g)?P:g)?S:g}var A=this._bounds;return A.x=m,A.width=f-m,A.y=y,A.height=g-y,this._currentBounds=A,A},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,c,u,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,c=(u=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,c=i.frame.height*(1-p),u=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,w=o.tx,T=o.ty,P=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,S=o.b,A=o.c,E=o.d,M=l,R=h;w=o.c*P+w,T=o.d*P+T,v=6.123233995736766e-17*C-A,x=6.123233995736766e-17*S-E,b=C+6.123233995736766e-17*A,_=S+6.123233995736766e-17*E,i._updateUvsInverted(),h=c,l=u,c=R,u=M}var L=this.colors,B=this.positions,I=t.tint,O=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(B[g++]=v*l+b*u+w|0,B[g++]=_*u+x*l+T|0,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w|0,B[g++]=_*u+x*h+T|0,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w|0,B[g++]=_*c+x*h+T|0,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w|0,B[g++]=_*c+x*l+T|0,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y):(B[g++]=v*l+b*u+w,B[g++]=_*u+x*l+T,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w,B[g++]=_*u+x*h+T,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w,B[g++]=_*c+x*h+T,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w,B[g++]=_*c+x*l+T,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),c=t.tilePosition.y/(h*t.tileScaleOffset.y),u=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-c,o.x1=1*u-l,o.y1=0-c,o.x2=1*u-l,o.y2=1*d-c,o.x3=0-l,o.y3=1*d-c;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),w=y*-x,T=v*(1-b),P=v*-b,C=this.currentBatchSize*this.vertexSize,S=e.baseTexture.resolution,A=t.worldTransform,E=A.a/S,M=A.b/S,R=A.c/S,L=A.d/S,B=A.tx,I=A.ty;g[C++]=E*w+R*P+B,g[C++]=L*P+M*w+I,g[C++]=o.x0,g[C++]=o.y0,m[C++]=f,g[C++]=r,g[C++]=E*_+R*P+B,g[C++]=L*P+M*_+I,g[C++]=o.x1,g[C++]=o.y1,m[C++]=f,g[C++]=r,g[C++]=E*_+R*T+B,g[C++]=L*T+M*_+I,g[C++]=o.x2,g[C++]=o.y2,m[C++]=f,g[C++]=r,g[C++]=E*w+R*T+B,g[C++]=L*T+M*w+I,g[C++]=o.x3,g[C++]=o.y3,m[C++]=f,g[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(u,l,c),c=m,l=0,u=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.3",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)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,c=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=R=Math.sqrt(_*_+w*w),w/=R,_*=F,w*=F,L.push(p-_,f-w),L.push(G,N,X,U),L.push(p+_,f+w),L.push(G,N,X,U),L.push(p-_,f-w),L.push(G,N,X,U),O++):(L.push(l,c),L.push(G,N,X,U),L.push(p-(l-p),f-(c-f)),L.push(G,N,X,U));for(u=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),B.push(k),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,r,a).data,u=c.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),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=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,R=g*c+l*y+m*u-c*y-l*m-g*u,L=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,O=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},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.updateColor=function(t){i.Color.updateColor(t.target)},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),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===c||0===u||cc&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._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,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.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),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._sound.loop=this.loop,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.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._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.currentMarker&&(this.loop?this._sound.loop=!0: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.currentMarker?this._sound.start(0,t):this._sound.start(0,t,e):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.onTouchUnlock=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(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.input.onUp.addOnce(this.resumeWebAudio,this);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var 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.currentColor=null,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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(r,l,c,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,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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},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&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,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,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},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=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,r,o,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?o.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?o.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&o.push(e[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,r){e=e||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);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},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}k={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(k.properties=r.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((F=new i.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(k,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}k.data=g,s.push(k)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},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.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},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.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),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.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +!function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,i,s){function n(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(r)return r(o,!0);throw new Error("Cannot find module '"+o+"'")}var l=i[o]={exports:{}};e[o][0].call(l.exports,function(t){var i=e[o][1][t];return n(i||t)},l,l.exports,t,e,i,s)}return i[o].exports}for(var r="function"==typeof require&&require,o=0;o=0&&h<=1&&l>=0&&l<=1}},{"./Scalar":4}],2:[function(t,e,i){function s(){}e.exports=s,s.area=function(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])},s.left=function(t,e,i){return s.area(t,e,i)>0},s.leftOn=function(t,e,i){return s.area(t,e,i)>=0},s.right=function(t,e,i){return s.area(t,e,i)<0},s.rightOn=function(t,e,i){return s.area(t,e,i)<=0};var n=[],r=[];s.collinear=function(t,e,i,o){if(o){var a=n,h=r;a[0]=e[0]-t[0],a[1]=e[1]-t[1],h[0]=i[0]-e[0],h[1]=i[1]-e[1];var l=a[0]*h[0]+a[1]*h[1],c=Math.sqrt(a[0]*a[0]+a[1]*a[1]),u=Math.sqrt(h[0]*h[0]+h[1]*h[1]);return Math.acos(l/(c*u))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var s=e;se[t][0])&&(t=i);o.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},s.prototype.reverse=function(){for(var t=[],e=0,i=this.vertices.length;e!==i;e++)t.push(this.vertices.pop());this.vertices=t},s.prototype.isReflex=function(t){return o.right(this.at(t-1),this.at(t),this.at(t+1))};var h=[],l=[];s.prototype.canSee=function(t,e){var i,s,n=h,a=l;if(o.leftOn(this.at(t+1),this.at(t),this.at(e))&&o.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;s=o.sqdist(this.at(t),this.at(e));for(var c=0;c!==this.vertices.length;++c)if((c+1)%this.vertices.length!==t&&c!==t&&o.leftOn(this.at(t),this.at(e),this.at(c+1))&&o.rightOn(this.at(t),this.at(e),this.at(c))&&(n[0]=this.at(t),n[1]=this.at(e),a[0]=this.at(c),a[1]=this.at(c+1),i=r.lineInt(n,a),o.sqdist(this.at(t),i)0?this.slice(t):[this]},s.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],i=0;ia)return console.warn("quickDecomp: max level ("+a+") reached."),t;for(var T=0;Tm&&(m+=this.vertices.length),g=Number.MAX_VALUE,m3&&i>=0;--i)o.collinear(this.at(i-1),this.at(i),this.at(i+1),t)&&(this.vertices.splice(i%this.vertices.length,1),i--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,i){function s(){}e.exports=s,s.eq=function(t,e,i){return i=i||0,Math.abs(t-e) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(t,e,i){function s(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=s;var r=n.create();s.prototype.setFromPoints=function(t,e,i,s){var o=this.lowerBound,a=this.upperBound;"number"!=typeof i&&(i=0),0!==i?n.rotate(o,t[0],i):n.copy(o,t[0]),n.copy(a,o);for(var h=Math.cos(i),l=Math.sin(i),c=1;ca[f]&&(a[f]=u[f]),u[f]i&&(this.lowerBound[e]=i);var s=t.upperBound[e];this.upperBound[e]h?-1:a}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,i){function s(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=s.AABB}var n=t("../math/vec2"),r=t("../objects/Body");e.exports=s,s.AABB=1,s.BOUNDING_CIRCLE=2,s.prototype.setWorld=function(t){this.world=t},s.prototype.getCollisionPairs=function(t){};var o=n.create();s.boundingRadiusCheck=function(t,e){n.sub(o,t.position,e.position);var i=n.squaredLength(o),s=t.boundingRadius+e.boundingRadius;return i<=s*s},s.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},s.prototype.boundingVolumeCheck=function(t,e){var i;switch(this.boundingVolumeType){case s.BOUNDING_CIRCLE:i=s.boundingRadiusCheck(t,e);break;case s.AABB:i=s.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return i},s.canCollide=function(t,e){var i=r.KINEMATIC,s=r.STATIC;return(t.type!==s||e.type!==s)&&(!(t.type===i&&e.type===s||t.type===s&&e.type===i)&&((t.type!==i||e.type!==i)&&((t.sleepState!==r.SLEEPING||e.sleepState!==r.SLEEPING)&&!(t.sleepState===r.SLEEPING&&e.type===s||e.sleepState===r.SLEEPING&&t.type===s))))},s.NAIVE=1,s.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,i){function s(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.getCollisionPairs=function(t){var e=t.bodies,i=this.result;i.length=0;for(var s=0,r=e.length;s!==r;s++)for(var o=e[s],a=0;az&&Y0)for(G=0;GMath.pow(g,2))return 0;if(u)return!0;var m=this.createContactEquation(t,n,e,r);return a(m.normalA,l,i),o.normalize(m.normalA,m.normalA),o.scale(m.contactPointA,m.normalA,d),o.scale(m.contactPointB,m.normalA,-p),h(m.contactPointA,m.contactPointA,i),a(m.contactPointA,m.contactPointA,t.position),h(m.contactPointB,m.contactPointB,l),a(m.contactPointB,m.contactPointB,n.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[m.PLANE|m.CONVEX]=s.prototype[m.PLANE|m.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,g=_,m=0;o.rotate(f,v,s);for(var y=0;y!==r.vertices.length;y++){var w=r.vertices[y];if(o.rotate(p,w,u),h(p,p,c),a(g,p,i),l(g,f)<=0){if(d)return!0;m++;var T=this.createContactEquation(t,n,e,r);a(g,p,i),o.copy(T.normalA,f);var P=l(g,T.normalA);o.scale(g,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,g),a(T.contactPointA,T.contactPointA,t.position),this.contactEquations.push(T),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(T))}}return this.enableFrictionReduction&&this.enableFriction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},s.prototype[m.PARTICLE|m.PLANE]=s.prototype.particlePlane=function(t,e,i,s,n,r,h,c,u){var d=x,p=b;c=c||0,a(d,i,h),o.rotate(p,v,c);var f=l(d,p);if(f>0)return 0;if(u)return!0;var g=this.createContactEquation(n,t,r,e);return o.copy(g.normalA,p),o.scale(d,g.normalA,f),a(g.contactPointA,i,d),a(g.contactPointA,g.contactPointA,n.position),a(g.contactPointB,i,t.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[m.CIRCLE|m.PARTICLE]=s.prototype.circleParticle=function(t,e,i,s,n,r,l,c,u){var d=x;if(a(d,l,i),o.squaredLength(d)>Math.pow(e.radius,2))return 0;if(u)return!0;var p=this.createContactEquation(t,n,e,r);return o.copy(p.normalA,d),o.normalize(p.normalA,p.normalA),o.scale(p.contactPointA,p.normalA,e.radius),h(p.contactPointA,p.contactPointA,i),a(p.contactPointA,p.contactPointA,t.position),a(p.contactPointB,l,n.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1};var K=new f({radius:1}),J=o.create(),Q=o.create();o.create();s.prototype[m.PLANE|m.CAPSULE]=s.prototype.planeCapsule=function(t,e,i,s,n,r,a,l,c){var u=J,d=Q,p=K;o.set(u,-r.length/2,0),o.rotate(u,u,l),h(u,u,a),o.set(d,r.length/2,0),o.rotate(d,d,l),h(d,d,a),p.radius=r.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var g=this.circlePlane(n,p,u,0,t,e,i,s,c),m=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return g||m;var y=g+m;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[m.CIRCLE|m.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,g=i,m=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,g,y),o.rotate(P,v,w);var S=l(P,T);if(S>f.radius)return 0;if(d)return!0;var A=this.createContactEquation(m,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,g),a(A.contactPointB,A.contactPointB,p.position),o.scale(C,A.normalA,S),a(A.contactPointA,T,C),h(A.contactPointA,A.contactPointA,y),a(A.contactPointA,A.contactPointA,m.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[m.CONVEX]=s.prototype[m.CONVEX|m.BOX]=s.prototype[m.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var g=x,m=b,y=_,v=w,P=T,E=C,M=S,R=A,L=0,f="number"==typeof f?f:0;if(!s.findSeparatingAxis(e,i,n,c,u,d,g))return 0;a(M,u,i),l(g,M)>0&&o.scale(g,g,-1);var B=s.getClosestEdge(e,n,g,!0),I=s.getClosestEdge(c,d,g);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var q;q=k,k=F,F=q,q=D,D=U,U=q,q=G,G=N,N=q,q=X,X=W,W=q,q=j,j=V,V=q}for(var H=F;H=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,m,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,m,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,m,N),h(Z.contactPointB,Z.contactPointB,N),a(Z.contactPointB,Z.contactPointB,V.position),this.contactEquations.push(Z),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z))}}}return this.enableFrictionReduction&&this.enableFriction&&L&&this.frictionEquations.push(this.createFrictionFromAverage(L)),L};var Z=o.fromValues(0,0);s.projectConvexOntoAxis=function(t,e,i,s,n){var r,a,h=null,c=null,u=Z;o.rotate(u,s,-i);for(var d=0;dh)&&(h=a),(null===c||ah){var p=c;c=h,h=p}var f=l(e,s);o.set(n,c+f,h+f)};var $=o.fromValues(0,0),tt=o.fromValues(0,0),et=o.fromValues(0,0),it=o.fromValues(0,0),st=o.fromValues(0,0),nt=o.fromValues(0,0);s.findSeparatingAxis=function(t,e,i,n,r,h,l){var c=null,u=!1,d=!1,p=$,f=tt,g=et,m=it,v=st,x=nt;if(t instanceof y&&n instanceof y)for(P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(C=0;2!==C;C++){0===C?o.set(m,0,1):1===C&&o.set(m,1,0),0!==_&&o.rotate(m,m,_),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0),u=(S=T[0]-w[1])<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}else for(var P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(var C=0;C!==b.vertices.length;C++){o.rotate(f,b.vertices[C],_),o.rotate(g,b.vertices[(C+1)%b.vertices.length],_),a(p,g,f),o.rotate90cw(m,p),o.normalize(m,m),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0);var S=T[0]-w[1];u=S<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}return d};var rt=o.fromValues(0,0),ot=o.fromValues(0,0),at=o.fromValues(0,0);s.getClosestEdge=function(t,e,i,s){var n=rt,r=ot,h=at;o.rotate(n,i,-e),s&&o.scale(n,n,-1);for(var c=-1,u=t.vertices.length,d=-1,p=0;p!==u;p++){a(r,t.vertices[(p+1)%u],t.vertices[p%u]),o.rotate90cw(h,r),o.normalize(h,h);var f=l(h,n);(-1===c||f>d)&&(c=p%u,d=f)}return c};var ht=o.create(),lt=o.create(),ct=o.create(),ut=o.create(),dt=o.create(),pt=o.create(),ft=o.create();s.prototype[m.CIRCLE|m.HEIGHTFIELD]=s.prototype.circleHeightfield=function(t,e,i,s,n,r,l,c,u,d){var p=r.heights,d=d||e.radius,f=r.elementWidth,g=lt,m=ht,y=dt,v=ft,x=pt,b=ct,_=ut,w=Math.floor((i[0]-d-l[0])/f),T=Math.ceil((i[0]+d-l[0])/f);w<0&&(w=0),T>=p.length&&(T=p.length-1);for(var P=p[w],C=p[T],S=w;SP&&(P=p[S]);if(i[1]-d>P)return!u&&0;for(var A=!1,S=w;S=b[0]&&m[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(g,x,-E),o.add(y,m,g),o.copy(v,x);M=this.createContactEquation(n,t,r,e);o.copy(M.normalA,v),o.scale(M.contactPointB,M.normalA,-d),h(M.contactPointB,M.contactPointB,i),a(M.contactPointB,M.contactPointB,t.position),o.copy(M.contactPointA,y),o.sub(M.contactPointA,M.contactPointA,n.position),this.contactEquations.push(M),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}if(A=!1,d>0)for(S=w;S<=T;S++)if(o.set(b,S*f,p[S]),o.add(b,b,l),o.sub(g,i,b),o.squaredLength(g)=c.length&&(y=c.length-1);for(var v=c[m],x=c[y],b=m;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=m;b=0||r.containsPoint(this.from))&&this.intersectBody(t,n)}};var o=r.create();s.prototype.intersectBody=function(t,e){var i=this.checkCollisionResponse;if(!i||e.collisionResponse)for(var s=o,n=0,a=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=r,this._currentShape=e,e.raycast(t,this,s,i),this._currentBody=this._currentShape=null)},s.prototype.getAABB=function(t){var e=this.to,i=this.from;r.set(t.lowerBound,Math.min(e[0],i[0]),Math.min(e[1],i[1])),r.set(t.upperBound,Math.max(e[0],i[0]),Math.max(e[1],i[1]))};r.create();s.prototype.reportIntersection=function(t,e,i,n){this.from,this.to;var o=this._currentShape,a=this._currentBody;if(!(this.skipBackfaces&&r.dot(i,this.direction)>0))switch(this.mode){case s.ALL:t.set(i,o,a,e,n),this.callback(t);break;case s.CLOSEST:(e=0&&!(t[r].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);r--)t[r+1]=t[r];t[r+1]=n}return t},s.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;s.sortAxisList(t,e)},s.prototype.getCollisionPairs=function(t){var e=this.axisList,i=this.result,s=this.axisIndex;i.length=0;for(var n=e.length;n--;){var o=e[n];o.aabbNeedsUpdate&&o.updateAABB()}this.sortList();for(var a=0,h=0|e.length;a!==h;a++)for(var l=e[a],c=a+1;cthis.upperLimit&&(r.maxForce=0,r.minForce=-this.maxForce,this.distance=this.upperLimit,u=!0),this.lowerLimitEnabled&&this.positioni?(a.scale(n.normalA,l,-1),a.sub(n.contactPointA,c,o.position),a.sub(n.contactPointB,u,h.position),a.scale(f,l,i),a.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&va?(f.angle=a,-1===n.indexOf(f)&&n.push(f)):-1!==(y=n.indexOf(f))&&n.splice(y,1),this.lowerLimitEnabled&&m>1;if(e<3)return[];for(var i=[],n=[],r=0;r3;){var a=n[(r+0)%o],h=n[(r+1)%o],l=n[(r+2)%o],c=t[2*a],u=t[2*a+1],d=t[2*h],p=t[2*h+1],f=t[2*l],g=t[2*l+1],m=!1;if(s._convex(c,u,d,p,f,g)){m=!0;for(var y=0;y3*o)break}return i.push(n[0],n[1],n[2]),i},s._PointInTriangle=function(t,e,i,s,n,r,o,a){var h=o-i,l=a-s,c=n-i,u=r-s,d=t-i,p=e-s,f=h*h+l*l,g=h*c+l*u,m=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-g*g),b=(y*m-g*v)*x,_=(f*v-g*m)*x;return b>=0&&_>=0&&b+_<1},s._convex=function(t,e,i,s,n,r){return(e-s)*(n-i)+(i-t)*(r-s)>=0},e.exports=s},{}],30:[function(t,e,i){var s=e.exports={},n=t("../utils/Utils");s.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},s.crossVZ=function(t,e,i){return s.rotate(t,e,-Math.PI/2),s.scale(t,t,i),t},s.crossZV=function(t,e,i){return s.rotate(t,i,Math.PI/2),s.scale(t,t,e),t},s.rotate=function(t,e,i){if(0!==i){var s=Math.cos(i),n=Math.sin(i),r=e[0],o=e[1];t[0]=s*r-n*o,t[1]=n*r+s*o}else t[0]=e[0],t[1]=e[1]},s.rotate90cw=function(t,e){var i=e[0],s=e[1];t[0]=s,t[1]=-i},s.toLocalFrame=function(t,e,i,n){s.copy(t,e),s.sub(t,t,i),s.rotate(t,t,-n)},s.toGlobalFrame=function(t,e,i,n){s.copy(t,e),s.rotate(t,t,n),s.add(t,t,i)},s.vectorToLocalFrame=function(t,e,i){s.rotate(t,e,-i)},s.vectorToGlobalFrame=function(t,e,i){s.rotate(t,e,i)},s.centroid=function(t,e,i,n){return s.add(t,e,i),s.add(t,t,n),s.scale(t,t,1/3),t},s.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var i=new n.ARRAY_TYPE(2);return i[0]=t,i[1]=e,i},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,i){return t[0]=e,t[1]=i,t},s.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},s.subtract=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},s.sub=s.subtract,s.multiply=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},s.mul=s.multiply,s.divide=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},s.div=s.divide,s.scale=function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},s.distance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},s.dist=s.distance,s.squaredDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},s.len=s.length,s.squaredLength=function(t){var e=t[0],i=t[1];return e*e+i*i},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.normalize=function(t,e){var i=e[0],s=e[1],n=i*i+s*s;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},s.lerp=function(t,e,i,s){var n=e[0],r=e[1];return t[0]=n+s*(i[0]-n),t[1]=r+s*(i[1]-r),t},s.reflect=function(t,e,i){var s=e[0]*i[0]+e[1]*i[1];t[0]=e[0]-2*i[0]*s,t[1]=e[1]-2*i[1]*s},s.getLineSegmentsIntersection=function(t,e,i,n,r){var o=s.getLineSegmentsIntersectionFraction(e,i,n,r);return!(o<0)&&(t[0]=e[0]+o*(i[0]-e[0]),t[1]=e[1]+o*(i[1]-e[1]),!0)},s.getLineSegmentsIntersectionFraction=function(t,e,i,s){var n,r,o=e[0]-t[0],a=e[1]-t[1],h=s[0]-i[0],l=s[1]-i[1];return n=(-a*(t[0]-i[0])+o*(t[1]-i[1]))/(-h*a+o*l),r=(h*(t[1]-i[1])-l*(t[0]-i[0]))/(-h*a+o*l),n>=0&&n<=1&&r>=0&&r<=1?r:-1}},{"../utils/Utils":57}],31:[function(t,e,i){function s(t){t=t||{},c.call(this),this.id=t.id||++s._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=s.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=s.DYNAMIC:this.type=s.STATIC,this.boundingRadius=0,this.aabb=new l,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=s.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),r=t("poly-decomp"),o=t("../shapes/Convex"),a=t("../collision/RaycastResult"),h=t("../collision/Ray"),l=t("../collision/AABB"),c=t("../events/EventEmitter");e.exports=s,s.prototype=new c,s.prototype.constructor=s,s._idCounter=0,s.prototype.updateSolveMassProperties=function(){this.sleepState===s.SLEEPING||this.type===s.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},s.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},s.prototype.getArea=function(){for(var t=0,e=0;ei&&(i=o+a)}this.boundingRadius=i},s.prototype.addShape=function(t,e,i){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=i||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},s.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},s.prototype.updateMassProperties=function(){if(this.type===s.STATIC||this.type===s.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,i=this.mass/e,r=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var o=0;o0?1/r:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();s.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var i=n.crossLength(e,t);this.angularForce+=i}};var p=n.create(),f=n.create(),g=n.create();s.prototype.applyForceLocal=function(t,e){e=e||g;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var m=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=m;if(n.scale(i,t,this.invMass),n.multiply(i,this.massMultiplier,i),n.add(this.velocity,i,this.velocity),e){var r=n.crossLength(e,t);r*=this.invInertia,this.angularVelocity+=r}}};var y=n.create(),v=n.create(),x=n.create();s.prototype.applyImpulseLocal=function(t,e){e=e||x;var i=y,s=v;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyImpulse(i,s)},s.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},s.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},s.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},s.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},s.prototype.fromPolygon=function(t,e){e=e||{};for(h=this.shapes.length;h>=0;--h)this.removeShape(this.shapes[h]);var i=new r.Polygon;if(i.vertices=t,i.makeCCW(),"number"==typeof e.removeCollinearPoints&&i.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!i.isSimple())return!1;this.concavePath=i.vertices.slice(0);for(h=0;h=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=s.AWAKE):(this.idleTime+=i,this.sleepState=s.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},s.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var T=n.create(),P=n.create();s.prototype.integrate=function(t){var e=this.invMass,i=this.force,s=this.position,r=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(T,i,t*e),n.multiply(T,this.massMultiplier,T),n.add(r,T,r),this.integrateToTimeOfImpact(t)||(n.scale(P,r,t),n.add(s,s,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var C=new a,S=new h({mode:h.ALL}),A=n.create(),E=n.create(),M=n.create(),R=n.create();s.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=l&&h=0&&(r.rotate(p,u,s),r.scale(p,p,2*y-1),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}for(var x=Math.pow(this.radius,2)+Math.pow(m,2),y=0;y<2;y++){r.set(f,m*(2*y-1),0),r.toGlobalFrame(f,f,i,s);var b=Math.pow(o[0]-n[0],2)+Math.pow(o[1]-n[1],2),_=2*((o[0]-n[0])*(n[0]-f[0])+(o[1]-n[1])*(n[1]-f[1])),w=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),T=Math.pow(_,2)-4*b*w;if(!(T<0))if(0===T){if(r.lerp(d,n,o,T),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(T),C=1/(2*b),S=(-_-P)*C,A=(-_+P)*C;if(S>=0&&S<=1&&(r.lerp(d,n,o,S),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,S,p,-1),t.shouldStop(e))))return;if(A>=0&&A<=1&&(r.lerp(d,n,o,A),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,A,p,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},s.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},s.prototype.computeAABB=function(t,e,i){var s=this.radius;r.set(t.upperBound,s,s),r.set(t.lowerBound,-s,-s),e&&(r.add(t.lowerBound,t.lowerBound,e),r.add(t.upperBound,t.upperBound,e))};var o=r.create(),a=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,h=e.to,l=this.radius,c=Math.pow(h[0]-n[0],2)+Math.pow(h[1]-n[1],2),u=2*((h[0]-n[0])*(n[0]-i[0])+(h[1]-n[1])*(n[1]-i[1])),d=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)-Math.pow(l,2),p=Math.pow(u,2)-4*c*d,f=o,g=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,p,g,-1);else{var m=Math.sqrt(p),y=1/(2*c),v=(-u-m)*y,x=(-u+m)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,v,g,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,x,g,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,i){function s(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],i=0;in)&&(n=s),(null===o||sn){var l=o;o=n,n=l}r.set(e,o,n)},s.prototype.projectOntoWorldAxis=function(t,e,i,s){var n=h;this.projectOntoLocalAxis(t,s),0!==i?r.rotate(n,t,i):n=t;var o=r.dot(e,n);r.set(s,s[0]+o,s[1]+o)},s.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=s)}this.boundingRadius=Math.sqrt(e)},s.triangleArea=function(t,e,i){return.5*((e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1]))},s.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,i=0;i!==t.length;i++){var n=t[i],r=e[n[0]],o=e[n[1]],a=e[n[2]],h=s.triangleArea(r,o,a);this.area+=h}},s.prototype.computeAABB=function(t,e,i){t.setFromPoints(this.vertices,e,i,0)};var f=r.create(),g=r.create(),m=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=g,a=m,h=this.vertices;r.toLocalFrame(n,e.from,i,s),r.toLocalFrame(o,e.to,i,s);for(var l=h.length,c=0;c=0&&(r.sub(a,d,u),r.rotate(a,a,-Math.PI/2+s),r.normalize(a,a),e.reportIntersection(t,p,a,c))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,i){function s(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],i=t[0],s=0;s!==t.length;s++){var n=t[s];n>e&&(e=n),nv){var x=y;y=v,v=x}for(var b=0;b=0&&(r.sub(d,f,p),r.rotate(d,d,s+Math.PI/2),r.normalize(d,d),e.reportIntersection(t,_,d,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var o=[r.create(),r.create()];s.prototype.computeAABB=function(t,e,i){var s=this.length/2;r.set(o[0],-s,0),r.set(o[1],s,0),t.setFromPoints(o,e,i,0)};r.create();var a=r.create(),h=r.create(),l=r.create(),c=r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){var n=e.from,o=e.to,u=h,d=l,p=this.length/2;r.set(u,-p,0),r.set(d,p,0),r.toGlobalFrame(u,u,i,s),r.toGlobalFrame(d,d,i,s);var f=r.getLineSegmentsIntersectionFraction(u,d,n,o);if(f>=0){var g=a;r.rotate(g,c,s),e.reportIntersection(t,f,g,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,i){function s(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=0},s.prototype.computeAABB=function(t,e,i){r.copy(t.lowerBound,e),r.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,i){function s(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},s.prototype.computeAABB=function(t,e,i){var s=i%(2*Math.PI),n=r.set,o=t.lowerBound,a=t.upperBound;n(o,-1e7,-1e7),n(a,1e7,1e7),0===s?a[1]=0:s===Math.PI/2?o[0]=0:s===Math.PI?o[1]=0:s===3*Math.PI/2&&(a[0]=0)},s.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var o=r.create(),a=(r.create(),r.create(),r.create()),h=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,l=e.to,c=e.direction,u=o,d=a,p=h;r.set(d,0,1),r.rotate(d,d,s),r.sub(p,n,i);var f=r.dot(p,d);if(r.sub(p,l,i),!(f*r.dot(p,d)>0||r.squaredDistance(n,l)p*a&&(g=p*a-u),r[t]+=g,e.addToWlambda(g),g}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},s.prototype.getByKey=function(t){return t|=0,this.data[t]},s.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},s.prototype.set=function(t,e,i){if(!i)throw new Error("No data!");var s=this.getKey(t,e);return this.data[s]||this.keys.push(s),this.data[s]=i,s},s.prototype.reset=function(){for(var t=this.data,e=this.keys,i=e.length;i--;)delete t[e[i]];e.length=0},s.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var i=t.keys[e];this.data[i]=t.data[i]}}},{"./Utils":57}],57:[function(t,e,i){function s(){}e.exports=s,s.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var i=0,s=e.length;i!==s;++i)t.push(e[i])},s.splice=function(t,e,i){i=i||1;for(var s=e,n=t.length-i;s=t&&s=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);q=u.length;for(T=0;T!==q;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(H=n[T])._wakeUpAfterNarrowphase&&(H.wakeUp(),H._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var q=u.length;for(T=0;T!==q;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||q)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==q;T++)v.appendArray(g.equations,u[T].equations);g.split(this);for(T=0;T!==g.islands.length;T++)(K=g.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==q;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var H=n[T];H.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T0,t.frictionCoefficient=c.friction;var g;g=e.type===d.STATIC||e.type===d.KINEMATIC?o.mass:o.type===d.STATIC||o.type===d.KINEMATIC?e.mass:e.mass*o.mass/(e.mass+o.mass),t.slipForce=c.friction*u*g,t.restitution=c.restitution,t.surfaceVelocity=c.surfaceVelocity,t.frictionStiffness=c.frictionStiffness,t.frictionRelaxation=c.frictionRelaxation,t.stiffness=c.stiffness,t.relaxation=c.relaxation,t.contactSkinSize=c.contactSkinSize,t.enabledEquations=e.collisionResponse&&o.collisionResponse&&i.collisionResponse&&a.collisionResponse;var m=t[i.type|a.type],y=0;if(m){var v=i.sensor||a.sensor,x=t.frictionEquations.length;y=i.type=2*Math.pow(o.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),o.allowSleep&&o.type===d.DYNAMIC&&o.sleepState===d.SLEEPING&&e.sleepState===d.AWAKE&&e.type!==d.STATIC&&r.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(o._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,i,o,a),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(i,a)){var _=this.beginContactEvent;if(_.shapeA=i,_.shapeB=a,_.bodyA=e,_.bodyB=o,_.contactEquations.length=0,"number"==typeof y)for(P=t.contactEquations.length-y;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var i=this.bodies,e=i.length-1;e>=0;e--)this.removeBody(i[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var r=this.contactMaterials,e=r.length-1;e>=0;e--)this.removeContactMaterial(r[e]);s.apply(this)};var C=r.create(),S=(r.fromValues(0,0),r.fromValues(0,0));s.prototype.hitTest=function(t,e,i){i=i||0;var s=new d({position:t}),n=new c,u=t,p=C,f=S;s.addShape(n);for(var g=this.narrowphase,m=[],y=0,v=e.length;y!==v;y++)for(var x=e[y],b=0,_=x.shapes.length;b!==_;b++){var w=x.shapes[b];r.rotate(p,w.position,x.angle),r.add(p,p,x.position);var T=w.angle+x.angle;(w instanceof o&&g.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&g.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&g.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&g.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))0?Math.acos(i/u):-Math.acos(i/u),this.worldScale.x=u,this.worldScale.y=c/u}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=c/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,w=x.c,T=x.d,P=x.tx,C=x.ty,S=b*m+w*v+P,A=T*v+_*m+C,E=b*g+w*v+P,M=T*v+_*g+C,R=b*g+w*y+P,L=T*y+_*g+C,B=b*m+w*y+P,I=T*y+_*m+C;u=S,d=A,c=A,l=B<(l=R<(l=E<(l=S)?E:l)?R:l)?B:l,c=I<(c=L<(c=M(u=R>(u=E>u?E:u)?R:u)?B:u,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=c,f.width=u-l,f.height=d-c,e)for(t.worldTransform=r,n=0;n(f=T>(f=_>(f=x>f?x:f)?_:f)?T:f)?C:f,g=S>(g=P>(g=w>(g=b>g?b:g)?w:g)?P:g)?S:g}var A=this._bounds;return A.x=m,A.width=f-m,A.y=y,A.height=g-y,this._currentBounds=A,A},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,c,u,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,c=(u=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,c=i.frame.height*(1-p),u=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,w=o.tx,T=o.ty,P=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,S=o.b,A=o.c,E=o.d,M=l,R=h;w=o.c*P+w,T=o.d*P+T,v=6.123233995736766e-17*C-A,x=6.123233995736766e-17*S-E,b=C+6.123233995736766e-17*A,_=S+6.123233995736766e-17*E,i._updateUvsInverted(),h=c,l=u,c=R,u=M}var L=this.colors,B=this.positions,I=t.tint,O=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(B[g++]=v*l+b*u+w|0,B[g++]=_*u+x*l+T|0,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w|0,B[g++]=_*u+x*h+T|0,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w|0,B[g++]=_*c+x*h+T|0,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w|0,B[g++]=_*c+x*l+T|0,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y):(B[g++]=v*l+b*u+w,B[g++]=_*u+x*l+T,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w,B[g++]=_*u+x*h+T,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w,B[g++]=_*c+x*h+T,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w,B[g++]=_*c+x*l+T,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),c=t.tilePosition.y/(h*t.tileScaleOffset.y),u=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-c,o.x1=1*u-l,o.y1=0-c,o.x2=1*u-l,o.y2=1*d-c,o.x3=0-l,o.y3=1*d-c;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),w=y*-x,T=v*(1-b),P=v*-b,C=this.currentBatchSize*this.vertexSize,S=e.baseTexture.resolution,A=t.worldTransform,E=A.a/S,M=A.b/S,R=A.c/S,L=A.d/S,B=A.tx,I=A.ty;g[C++]=E*w+R*P+B,g[C++]=L*P+M*w+I,g[C++]=o.x0,g[C++]=o.y0,m[C++]=f,g[C++]=r,g[C++]=E*_+R*P+B,g[C++]=L*P+M*_+I,g[C++]=o.x1,g[C++]=o.y1,m[C++]=f,g[C++]=r,g[C++]=E*_+R*T+B,g[C++]=L*T+M*_+I,g[C++]=o.x2,g[C++]=o.y2,m[C++]=f,g[C++]=r,g[C++]=E*w+R*T+B,g[C++]=L*T+M*w+I,g[C++]=o.x3,g[C++]=o.y3,m[C++]=f,g[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(u,l,c),c=m,l=0,u=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.4",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)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(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},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},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.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(e)*this.width,t.y=this.centerY+.5*s*Math.sin(e)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new 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},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&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.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},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,this._fixedView=new i.Rectangle},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}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),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 one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===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.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},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))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},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.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);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.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=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++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=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.CONTACT);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,t);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);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var 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.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},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.pendingDestroy?(this.destroy(),!1):!(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.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},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.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},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,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},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(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},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.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,c=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=R=Math.sqrt(_*_+w*w),w/=R,_*=F,w*=F,L.push(p-_,f-w),L.push(G,N,X,U),L.push(p+_,f+w),L.push(G,N,X,U),L.push(p-_,f-w),L.push(G,N,X,U),O++):(L.push(l,c),L.push(G,N,X,U),L.push(p-(l-p),f-(c-f)),L.push(G,N,X,U));for(u=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),B.push(k),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape({x:t,y:e,width:s,height:n,type:i.ELLIPSE}),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!e){e={};var n=i.Text.fontPropertiesCanvas,r=i.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return e.ascent=a,e.descent=a+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),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=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,R=g*c+l*y+m*u-c*y-l*m-g*u,L=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,O=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,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.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=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},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.updateColor=function(t){i.Color.updateColor(t.target)},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),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],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.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new 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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(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.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===c||0===u||cc&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onBeforeLoadComplete=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.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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var 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()},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.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._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,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.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),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._sound.onended=null,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._sound.loop=this.loop,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.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._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.currentMarker&&(this.loop?this._sound.loop=!0: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.currentMarker?this._sound.start(0,t):this._sound.start(0,t,e):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.onTouchUnlock=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(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.input.onUp.addOnce(this.resumeWebAudio,this);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var 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.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.GEOM_AUTO=0,i.Utils.Debug.GEOM_RECTANGLE=1,i.Utils.Debug.GEOM_CIRCLE=2,i.Utils.Debug.GEOM_POINT=3,i.Utils.Debug.GEOM_LINE=4,i.Utils.Debug.GEOM_ELLIPSE=5,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.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(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,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(r,l,c,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,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)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},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&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,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,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},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=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,r,o,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?o.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?o.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&o.push(e[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,r){e=e||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);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},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}k={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(k.properties=r.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((F=new i.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(k,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}k.data=g,s.push(k)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},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.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},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.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),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.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.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 e01d2eda9..f4f0e048e 100644 --- a/docs/CreatureShader.html +++ b/docs/CreatureShader.html @@ -6,7 +6,7 @@ Phaser CE Class: CreatureShader - + @@ -224,7 +224,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 16 + src/gameobjects/Creature.js line 16 @@ -329,7 +329,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 43 + src/gameobjects/Creature.js line 43 @@ -402,7 +402,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 29 + src/gameobjects/Creature.js line 29 @@ -479,7 +479,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 36 + src/gameobjects/Creature.js line 36 @@ -556,7 +556,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 62 + src/gameobjects/Creature.js line 62 @@ -589,9 +589,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -608,7 +608,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -637,7 +637,7 @@
Type:
- + diff --git a/docs/EarCut.html b/docs/EarCut.html index cb135628e..64bc9fb56 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.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

- + diff --git a/docs/Event.html b/docs/Event.html index ca5b4202b..b64a6a753 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 @@ -392,7 +392,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 253 + src/plugins/path/EventTarget.js line 253 @@ -469,7 +469,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 235 + src/plugins/path/EventTarget.js line 235 @@ -546,7 +546,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 265 + src/plugins/path/EventTarget.js line 265 @@ -623,7 +623,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 244 + src/plugins/path/EventTarget.js line 244 @@ -656,9 +656,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -675,7 +675,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -704,7 +704,7 @@
Type:
- + diff --git a/docs/EventTarget.html b/docs/EventTarget.html index 6ca80b3d4..48d1bd43e 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.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

- + diff --git a/docs/PIXI.BaseTexture.html b/docs/PIXI.BaseTexture.html index 6030baf97..4dbce575b 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 @@ -414,7 +414,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 58 + src/pixi/textures/BaseTexture.js line 58 @@ -491,7 +491,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 40 + src/pixi/textures/BaseTexture.js line 40 @@ -569,7 +569,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 93 + src/pixi/textures/BaseTexture.js line 93 @@ -653,7 +653,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 75 + src/pixi/textures/BaseTexture.js line 75 @@ -730,7 +730,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 22 + src/pixi/textures/BaseTexture.js line 22 @@ -814,7 +814,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 49 + src/pixi/textures/BaseTexture.js line 49 @@ -893,7 +893,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 131 + src/pixi/textures/BaseTexture.js line 131 @@ -970,7 +970,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 66 + src/pixi/textures/BaseTexture.js line 66 @@ -1047,7 +1047,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 100 + src/pixi/textures/BaseTexture.js line 100 @@ -1124,7 +1124,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 31 + src/pixi/textures/BaseTexture.js line 31 @@ -1202,7 +1202,7 @@

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

Source:
- src/pixi/textures/BaseTexture.js line 178 + src/pixi/textures/BaseTexture.js line 178 @@ -1446,7 +1446,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 144 + src/pixi/textures/BaseTexture.js line 144 @@ -1656,7 +1656,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 219 + src/pixi/textures/BaseTexture.js line 219 @@ -1761,7 +1761,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1823,7 +1823,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1852,7 +1852,7 @@

- + diff --git a/docs/PIXI.CanvasBuffer.html b/docs/PIXI.CanvasBuffer.html index 823ef038d..20c5875e2 100644 --- a/docs/PIXI.CanvasBuffer.html +++ b/docs/PIXI.CanvasBuffer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasBuffer - + @@ -254,7 +254,7 @@

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -888,7 +888,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -917,7 +917,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasGraphics.html b/docs/PIXI.CanvasGraphics.html index 54f0f57c7..2461a4f1f 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.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -447,7 +447,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasMaskManager.html b/docs/PIXI.CanvasMaskManager.html index f1213c75d..78cf1b7ac 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.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -581,7 +581,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasRenderer.html b/docs/PIXI.CanvasRenderer.html index 301bec471..f1d6f92db 100644 --- a/docs/PIXI.CanvasRenderer.html +++ b/docs/PIXI.CanvasRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasRenderer - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 13 + src/pixi/renderers/canvas/CanvasRenderer.js line 13 @@ -336,7 +336,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 67 + src/pixi/renderers/canvas/CanvasRenderer.js line 67 @@ -416,7 +416,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 51 + src/pixi/renderers/canvas/CanvasRenderer.js line 51 @@ -493,7 +493,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 100 + src/pixi/renderers/canvas/CanvasRenderer.js line 100 @@ -570,7 +570,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 121 + src/pixi/renderers/canvas/CanvasRenderer.js line 121 @@ -647,7 +647,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 18 + src/pixi/renderers/canvas/CanvasRenderer.js line 18 @@ -731,7 +731,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 85 + src/pixi/renderers/canvas/CanvasRenderer.js line 85 @@ -855,7 +855,7 @@
Properties:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 128 + src/pixi/renderers/canvas/CanvasRenderer.js line 128 @@ -932,7 +932,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 113 + src/pixi/renderers/canvas/CanvasRenderer.js line 113 @@ -1009,7 +1009,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 135 + src/pixi/renderers/canvas/CanvasRenderer.js line 135 @@ -1086,7 +1086,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 39 + src/pixi/renderers/canvas/CanvasRenderer.js line 39 @@ -1163,7 +1163,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 59 + src/pixi/renderers/canvas/CanvasRenderer.js line 59 @@ -1240,7 +1240,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 31 + src/pixi/renderers/canvas/CanvasRenderer.js line 31 @@ -1317,7 +1317,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 93 + src/pixi/renderers/canvas/CanvasRenderer.js line 93 @@ -1401,7 +1401,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 76 + src/pixi/renderers/canvas/CanvasRenderer.js line 76 @@ -1549,7 +1549,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 206 + src/pixi/renderers/canvas/CanvasRenderer.js line 206 @@ -1686,7 +1686,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 157 + src/pixi/renderers/canvas/CanvasRenderer.js line 157 @@ -1844,7 +1844,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 228 + src/pixi/renderers/canvas/CanvasRenderer.js line 228 @@ -1887,9 +1887,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1906,7 +1906,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1935,7 +1935,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasTinter.html b/docs/PIXI.CanvasTinter.html index 35bd8dd31..1e524a85b 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.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -782,7 +782,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

- + diff --git a/docs/PIXI.DisplayObject.html b/docs/PIXI.DisplayObject.html index 7438f0305..e90a42cd7 100644 --- a/docs/PIXI.DisplayObject.html +++ b/docs/PIXI.DisplayObject.html @@ -6,7 +6,7 @@ Phaser CE Class: DisplayObject - + @@ -183,7 +183,7 @@

Source:
- src/pixi/display/DisplayObject.js line 18 + src/pixi/display/DisplayObject.js line 18 @@ -298,7 +298,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -382,7 +382,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -459,7 +459,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -541,7 +541,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -628,7 +628,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -708,7 +708,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -788,7 +788,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -866,7 +866,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -945,7 +945,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1023,7 +1023,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -1103,7 +1103,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1183,7 +1183,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -1356,7 +1356,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -1438,7 +1438,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -1520,7 +1520,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -1602,7 +1602,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -1684,7 +1684,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -1761,7 +1761,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -1839,7 +1839,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -1997,7 +1997,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 435 + src/pixi/display/DisplayObject.js line 435 @@ -2477,7 +2477,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -2681,7 +2681,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -2791,7 +2791,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3059,7 +3059,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

Source:
- src/pixi/display/DisplayObjectContainer.js line 13 + src/pixi/display/DisplayObjectContainer.js line 13 @@ -316,7 +316,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -409,7 +409,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -486,7 +486,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -572,7 +572,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -663,7 +663,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -740,7 +740,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -836,7 +836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -915,7 +915,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -1093,7 +1093,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -1180,7 +1180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1268,7 +1268,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1355,7 +1355,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1632,7 +1632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -1709,7 +1709,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -1801,7 +1801,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -1892,7 +1892,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -1983,7 +1983,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -2165,7 +2165,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -2251,7 +2251,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -2338,7 +2338,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -2425,7 +2425,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -2553,7 +2553,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -2735,7 +2735,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -2893,7 +2893,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -3008,7 +3008,7 @@

Source:
- src/pixi/display/DisplayObject.js line 255 + src/pixi/display/DisplayObject.js line 255 @@ -3253,7 +3253,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -3428,7 +3428,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -3586,7 +3586,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -3744,7 +3744,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -3852,7 +3852,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 435 + src/pixi/display/DisplayObject.js line 435 @@ -4103,7 +4103,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -4261,7 +4261,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -4443,7 +4443,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -4601,7 +4601,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -4759,7 +4759,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -4902,7 +4902,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -5115,7 +5115,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -5234,7 +5234,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -5516,7 +5516,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -5545,7 +5545,7 @@
Returns:
- + diff --git a/docs/PIXI.FilterTexture.html b/docs/PIXI.FilterTexture.html index 276c76278..48299621a 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 @@ -399,7 +399,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 77 + src/pixi/renderers/webgl/utils/FilterTexture.js line 77 @@ -472,7 +472,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 70 + src/pixi/renderers/webgl/utils/FilterTexture.js line 70 @@ -545,7 +545,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 82 + src/pixi/renderers/webgl/utils/FilterTexture.js line 82 @@ -623,7 +623,7 @@

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -927,7 +927,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -956,7 +956,7 @@
Parameters:
- + diff --git a/docs/PIXI.Phaser.GraphicsData.html b/docs/PIXI.Phaser.GraphicsData.html index 26a2d304c..15a3461b5 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.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -491,7 +491,7 @@
Parameters:
- + diff --git a/docs/PIXI.PixiFastShader.html b/docs/PIXI.PixiFastShader.html index 70c3e821f..ca55cd2f5 100644 --- a/docs/PIXI.PixiFastShader.html +++ b/docs/PIXI.PixiFastShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PixiFastShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 47 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 47 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 22 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 22 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 29 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 29 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 125 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 125 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 86 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 86 @@ -713,7 +713,7 @@

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -859,7 +859,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

- + diff --git a/docs/PIXI.PixiShader.html b/docs/PIXI.PixiShader.html index 2edb16c3e..a3053f704 100644 --- a/docs/PIXI.PixiShader.html +++ b/docs/PIXI.PixiShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PixiShader - + @@ -226,7 +226,7 @@

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

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

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

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

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1190,7 +1190,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

- + diff --git a/docs/PIXI.PrimitiveShader.html b/docs/PIXI.PrimitiveShader.html index 210ccd0be..515de3778 100644 --- a/docs/PIXI.PrimitiveShader.html +++ b/docs/PIXI.PrimitiveShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PrimitiveShader - + @@ -226,7 +226,7 @@

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

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -782,7 +782,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

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

Parameters:
Source:
- src/pixi/display/Sprite.js line 13 + src/pixi/display/Sprite.js line 13 @@ -396,7 +396,7 @@
Properties:
Source:
- src/pixi/display/Sprite.js line 128 + src/pixi/display/Sprite.js line 128 @@ -492,7 +492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -573,7 +573,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -658,7 +658,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -751,7 +751,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -837,7 +837,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -921,7 +921,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -1007,7 +1007,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -1098,7 +1098,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -1184,7 +1184,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -1368,7 +1368,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1457,7 +1457,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -1546,7 +1546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -1633,7 +1633,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1721,7 +1721,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1813,7 +1813,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -1902,7 +1902,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1991,7 +1991,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -2076,7 +2076,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -2153,7 +2153,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -2237,7 +2237,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -2321,7 +2321,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -2420,7 +2420,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -2506,7 +2506,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -2598,7 +2598,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -2689,7 +2689,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -2780,7 +2780,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -2871,7 +2871,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -2967,7 +2967,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -3053,7 +3053,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -3140,7 +3140,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -3227,7 +3227,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -3364,7 +3364,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -3555,7 +3555,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -3722,7 +3722,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -3837,7 +3837,7 @@

Source:
- src/pixi/display/DisplayObject.js line 255 + src/pixi/display/DisplayObject.js line 255 @@ -4082,7 +4082,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -4254,7 +4254,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -4421,7 +4421,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -4588,7 +4588,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -4701,7 +4701,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 435 + src/pixi/display/DisplayObject.js line 435 @@ -4961,7 +4961,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -5128,7 +5128,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -5319,7 +5319,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -5486,7 +5486,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -5677,7 +5677,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -5844,7 +5844,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -5987,7 +5987,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -6200,7 +6200,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -6319,7 +6319,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -6508,7 +6508,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -6577,9 +6577,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -6596,7 +6596,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -6625,7 +6625,7 @@
Returns:
- + diff --git a/docs/PIXI.StripShader.html b/docs/PIXI.StripShader.html index e65592a4e..92db4fcfd 100644 --- a/docs/PIXI.StripShader.html +++ b/docs/PIXI.StripShader.html @@ -6,7 +6,7 @@ Phaser CE Class: StripShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 10 + src/pixi/renderers/webgl/shaders/StripShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 49 + src/pixi/renderers/webgl/shaders/StripShader.js line 76 @@ -408,7 +408,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 76 + src/pixi/renderers/webgl/shaders/StripShader.js line 49 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 23 + src/pixi/renderers/webgl/shaders/StripShader.js line 23 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 30 + src/pixi/renderers/webgl/shaders/StripShader.js line 30 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 95 + src/pixi/renderers/webgl/shaders/StripShader.js line 95 @@ -713,7 +713,7 @@

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -859,7 +859,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1798,7 +1798,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -735,7 +735,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

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

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

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

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2231,7 +2231,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

- + diff --git a/docs/PIXI.WebGLFilterManager.html b/docs/PIXI.WebGLFilterManager.html index 5254d8baf..6de36290b 100644 --- a/docs/PIXI.WebGLFilterManager.html +++ b/docs/PIXI.WebGLFilterManager.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLFilterManager - + @@ -176,7 +176,7 @@

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

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

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1359,7 +1359,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1388,7 +1388,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLRenderer.html b/docs/PIXI.WebGLRenderer.html index 163e7b095..3afa034fe 100644 --- a/docs/PIXI.WebGLRenderer.html +++ b/docs/PIXI.WebGLRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLRenderer - + @@ -233,7 +233,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 19 + src/pixi/renderers/webgl/WebGLRenderer.js line 19 @@ -338,7 +338,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 62 + src/pixi/renderers/webgl/WebGLRenderer.js line 62 @@ -415,7 +415,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 176 + src/pixi/renderers/webgl/WebGLRenderer.js line 176 @@ -495,7 +495,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 82 + src/pixi/renderers/webgl/WebGLRenderer.js line 82 @@ -568,7 +568,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 188 + src/pixi/renderers/webgl/WebGLRenderer.js line 188 @@ -645,7 +645,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 162 + src/pixi/renderers/webgl/WebGLRenderer.js line 162 @@ -722,7 +722,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 24 + src/pixi/renderers/webgl/WebGLRenderer.js line 24 @@ -799,7 +799,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 98 + src/pixi/renderers/webgl/WebGLRenderer.js line 98 @@ -876,7 +876,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 155 + src/pixi/renderers/webgl/WebGLRenderer.js line 155 @@ -949,7 +949,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 132 + src/pixi/renderers/webgl/WebGLRenderer.js line 132 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 70 + src/pixi/renderers/webgl/WebGLRenderer.js line 70 @@ -1099,7 +1099,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 126 + src/pixi/renderers/webgl/WebGLRenderer.js line 126 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 182 + src/pixi/renderers/webgl/WebGLRenderer.js line 182 @@ -1256,7 +1256,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 46 + src/pixi/renderers/webgl/WebGLRenderer.js line 46 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 141 + src/pixi/renderers/webgl/WebGLRenderer.js line 141 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 148 + src/pixi/renderers/webgl/WebGLRenderer.js line 148 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 169 + src/pixi/renderers/webgl/WebGLRenderer.js line 169 @@ -1564,7 +1564,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 54 + src/pixi/renderers/webgl/WebGLRenderer.js line 54 @@ -1637,7 +1637,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 37 + src/pixi/renderers/webgl/WebGLRenderer.js line 37 @@ -1714,7 +1714,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 106 + src/pixi/renderers/webgl/WebGLRenderer.js line 106 @@ -1791,7 +1791,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 90 + src/pixi/renderers/webgl/WebGLRenderer.js line 90 @@ -1869,7 +1869,7 @@

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

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

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 610 + src/pixi/renderers/webgl/WebGLRenderer.js line 610 @@ -2167,7 +2167,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 360 + src/pixi/renderers/webgl/WebGLRenderer.js line 360 @@ -2349,7 +2349,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 395 + src/pixi/renderers/webgl/WebGLRenderer.js line 395 @@ -2507,7 +2507,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 432 + src/pixi/renderers/webgl/WebGLRenderer.js line 432 @@ -2652,7 +2652,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 269 + src/pixi/renderers/webgl/WebGLRenderer.js line 269 @@ -2810,7 +2810,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 458 + src/pixi/renderers/webgl/WebGLRenderer.js line 458 @@ -2968,7 +2968,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 517 + src/pixi/renderers/webgl/WebGLRenderer.js line 517 @@ -3035,9 +3035,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3054,7 +3054,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3083,7 +3083,7 @@
Returns:
- + diff --git a/docs/PIXI.html b/docs/PIXI.html index 27970e9a9..e05af53a9 100644 --- a/docs/PIXI.html +++ b/docs/PIXI.html @@ -6,7 +6,7 @@ Phaser CE Namespace: PIXI - + @@ -167,7 +167,7 @@

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -998,7 +998,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1027,7 +1027,7 @@
Returns:
- + diff --git a/docs/Phaser.Animation.html b/docs/Phaser.Animation.html index 39b3137a0..ce8bf1824 100644 --- a/docs/Phaser.Animation.html +++ b/docs/Phaser.Animation.html @@ -6,7 +6,7 @@ Phaser CE Class: Animation - + @@ -474,7 +474,7 @@
Parameters:
Source:
- src/animation/Animation.js line 22 + src/animation/Animation.js line 22 @@ -579,7 +579,7 @@
Type:
Source:
- src/animation/Animation.js line 125 + src/animation/Animation.js line 125 @@ -656,7 +656,7 @@
Type:
Source:
- src/animation/Animation.js line 58 + src/animation/Animation.js line 58 @@ -733,7 +733,7 @@
Type:
Source:
- src/animation/Animation.js line 808 + src/animation/Animation.js line 809 @@ -810,7 +810,7 @@
Type:
Source:
- src/animation/Animation.js line 747 + src/animation/Animation.js line 748 @@ -887,7 +887,7 @@
Type:
Source:
- src/animation/Animation.js line 734 + src/animation/Animation.js line 735 @@ -964,7 +964,7 @@
Type:
Source:
- src/animation/Animation.js line 29 + src/animation/Animation.js line 29 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/animation/Animation.js line 80 + src/animation/Animation.js line 80 @@ -1118,7 +1118,7 @@
Type:
Source:
- src/animation/Animation.js line 92 + src/animation/Animation.js line 92 @@ -1195,7 +1195,7 @@
Type:
Source:
- src/animation/Animation.js line 86 + src/animation/Animation.js line 86 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/animation/Animation.js line 157 + src/animation/Animation.js line 157 @@ -1349,7 +1349,7 @@
Type:
Source:
- src/animation/Animation.js line 74 + src/animation/Animation.js line 74 @@ -1426,7 +1426,7 @@
Type:
Source:
- src/animation/Animation.js line 63 + src/animation/Animation.js line 63 @@ -1503,7 +1503,7 @@
Type:
Source:
- src/animation/Animation.js line 68 + src/animation/Animation.js line 68 @@ -1580,7 +1580,7 @@
Type:
Source:
- src/animation/Animation.js line 46 + src/animation/Animation.js line 46 @@ -1657,7 +1657,7 @@
Type:
Source:
- src/animation/Animation.js line 146 + src/animation/Animation.js line 146 @@ -1734,7 +1734,7 @@
Type:
Source:
- src/animation/Animation.js line 151 + src/animation/Animation.js line 151 @@ -1811,7 +1811,7 @@
Type:
Source:
- src/animation/Animation.js line 130 + src/animation/Animation.js line 130 @@ -1895,7 +1895,7 @@
Type:
Source:
- src/animation/Animation.js line 141 + src/animation/Animation.js line 141 @@ -1972,7 +1972,7 @@
Type:
Source:
- src/animation/Animation.js line 680 + src/animation/Animation.js line 681 @@ -2049,7 +2049,7 @@
Type:
Source:
- src/animation/Animation.js line 714 + src/animation/Animation.js line 715 @@ -2126,7 +2126,7 @@
Type:
Source:
- src/animation/Animation.js line 785 + src/animation/Animation.js line 786 @@ -2424,7 +2424,7 @@
Parameters:
Source:
- src/animation/Animation.js line 836 + src/animation/Animation.js line 837 @@ -2533,7 +2533,7 @@

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

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

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

Source:
- src/animation/Animation.js line 383 + src/animation/Animation.js line 383 @@ -3175,7 +3175,7 @@
Parameters:
Source:
- src/animation/Animation.js line 167 + src/animation/Animation.js line 167 @@ -3355,7 +3355,7 @@
Parameters:
Source:
- src/animation/Animation.js line 571 + src/animation/Animation.js line 571 @@ -3439,7 +3439,7 @@

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

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

Source:
- src/animation/Animation.js line 263 + src/animation/Animation.js line 263 @@ -3852,7 +3852,7 @@
Parameters:
Source:
- src/animation/Animation.js line 279 + src/animation/Animation.js line 279 @@ -4047,7 +4047,7 @@
Parameters:
Source:
- src/animation/Animation.js line 338 + src/animation/Animation.js line 338 @@ -4131,7 +4131,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -4327,7 +4327,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -4356,7 +4356,7 @@
Parameters:
- + diff --git a/docs/Phaser.AnimationManager.html b/docs/Phaser.AnimationManager.html index f9bd6fe25..cee3b424a 100644 --- a/docs/Phaser.AnimationManager.html +++ b/docs/Phaser.AnimationManager.html @@ -6,7 +6,7 @@ Phaser CE Class: AnimationManager - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 15 + src/animation/AnimationManager.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 40 + src/animation/AnimationManager.js line 40 @@ -414,7 +414,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 34 + src/animation/AnimationManager.js line 34 @@ -491,7 +491,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 503 + src/animation/AnimationManager.js line 503 @@ -568,7 +568,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 439 + src/animation/AnimationManager.js line 439 @@ -645,7 +645,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 532 + src/animation/AnimationManager.js line 532 @@ -722,7 +722,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 452 + src/animation/AnimationManager.js line 452 @@ -799,7 +799,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 25 + src/animation/AnimationManager.js line 25 @@ -876,7 +876,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 52 + src/animation/AnimationManager.js line 52 @@ -953,7 +953,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 486 + src/animation/AnimationManager.js line 486 @@ -1030,7 +1030,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 466 + src/animation/AnimationManager.js line 466 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 20 + src/animation/AnimationManager.js line 20 @@ -1191,7 +1191,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 46 + src/animation/AnimationManager.js line 46 @@ -1496,7 +1496,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 170 + src/animation/AnimationManager.js line 170 @@ -1605,7 +1605,7 @@

Source:
- src/animation/AnimationManager.js line 407 + src/animation/AnimationManager.js line 407 @@ -1739,7 +1739,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 374 + src/animation/AnimationManager.js line 374 @@ -1917,7 +1917,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 342 + src/animation/AnimationManager.js line 342 @@ -2191,7 +2191,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 253 + src/animation/AnimationManager.js line 253 @@ -2369,7 +2369,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 358 + src/animation/AnimationManager.js line 358 @@ -2453,7 +2453,7 @@

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3032,7 +3032,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3061,7 +3061,7 @@
Returns:
- + diff --git a/docs/Phaser.AnimationParser.html b/docs/Phaser.AnimationParser.html index 7c45ba3b5..082fe6407 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.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1462,7 +1462,7 @@
Returns:
- + diff --git a/docs/Phaser.ArraySet.html b/docs/Phaser.ArraySet.html index 40d9e0ac8..5a0f61c12 100644 --- a/docs/Phaser.ArraySet.html +++ b/docs/Phaser.ArraySet.html @@ -6,7 +6,7 @@ Phaser CE Class: ArraySet - + @@ -253,7 +253,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 19 + src/utils/ArraySet.js line 19 @@ -358,7 +358,7 @@
Type:
Source:
- src/utils/ArraySet.js line 231 + src/utils/ArraySet.js line 231 @@ -435,7 +435,7 @@
Type:
Source:
- src/utils/ArraySet.js line 32 + src/utils/ArraySet.js line 32 @@ -512,7 +512,7 @@
Type:
Source:
- src/utils/ArraySet.js line 256 + src/utils/ArraySet.js line 256 @@ -589,7 +589,7 @@
Type:
Source:
- src/utils/ArraySet.js line 26 + src/utils/ArraySet.js line 26 @@ -666,7 +666,7 @@
Type:
Source:
- src/utils/ArraySet.js line 217 + src/utils/ArraySet.js line 217 @@ -795,7 +795,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 38 + src/utils/ArraySet.js line 38 @@ -999,7 +999,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 159 + src/utils/ArraySet.js line 159 @@ -1133,7 +1133,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 95 + src/utils/ArraySet.js line 95 @@ -1316,7 +1316,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 70 + src/utils/ArraySet.js line 70 @@ -1474,7 +1474,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 57 + src/utils/ArraySet.js line 57 @@ -1632,7 +1632,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 119 + src/utils/ArraySet.js line 119 @@ -1810,7 +1810,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 185 + src/utils/ArraySet.js line 185 @@ -1894,7 +1894,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2114,7 +2114,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2143,7 +2143,7 @@
Parameters:
- + diff --git a/docs/Phaser.ArrayUtils.html b/docs/Phaser.ArrayUtils.html index ec993c1ef..496389213 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 197 + src/utils/ArrayUtils.js line 197 @@ -565,7 +565,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 15 + src/utils/ArrayUtils.js line 15 @@ -772,7 +772,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 273 + src/utils/ArrayUtils.js line 273 @@ -1028,7 +1028,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 311 + src/utils/ArrayUtils.js line 311 @@ -1302,7 +1302,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 73 + src/utils/ArrayUtils.js line 73 @@ -1519,7 +1519,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 39 + src/utils/ArrayUtils.js line 39 @@ -1681,7 +1681,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 251 + src/utils/ArrayUtils.js line 251 @@ -1867,7 +1867,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 156 + src/utils/ArrayUtils.js line 156 @@ -2029,7 +2029,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 229 + src/utils/ArrayUtils.js line 229 @@ -2187,7 +2187,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 107 + src/utils/ArrayUtils.js line 107 @@ -2345,7 +2345,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 128 + src/utils/ArrayUtils.js line 128 @@ -2412,9 +2412,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2431,7 +2431,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2460,7 +2460,7 @@
Returns:
- + diff --git a/docs/Phaser.AudioSprite.html b/docs/Phaser.AudioSprite.html index 81dd7b48b..65207811e 100644 --- a/docs/Phaser.AudioSprite.html +++ b/docs/Phaser.AudioSprite.html @@ -6,7 +6,7 @@ Phaser CE Class: AudioSprite - + @@ -255,7 +255,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 17 + src/sound/AudioSprite.js line 17 @@ -360,7 +360,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 48 + src/sound/AudioSprite.js line 48 @@ -437,7 +437,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 41 + src/sound/AudioSprite.js line 41 @@ -514,7 +514,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 35 + src/sound/AudioSprite.js line 35 @@ -591,7 +591,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 23 + src/sound/AudioSprite.js line 23 @@ -668,7 +668,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 29 + src/sound/AudioSprite.js line 29 @@ -745,7 +745,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 54 + src/sound/AudioSprite.js line 54 @@ -873,7 +873,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 115 + src/sound/AudioSprite.js line 115 @@ -1089,7 +1089,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 77 + src/sound/AudioSprite.js line 77 @@ -1267,7 +1267,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 93 + src/sound/AudioSprite.js line 93 @@ -1310,9 +1310,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1329,7 +1329,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1358,7 +1358,7 @@
Parameters:
- + diff --git a/docs/Phaser.BitmapData.html b/docs/Phaser.BitmapData.html index 664c062ee..8db67bce0 100644 --- a/docs/Phaser.BitmapData.html +++ b/docs/Phaser.BitmapData.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapData - + @@ -407,7 +407,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 24 + src/gameobjects/BitmapData.js line 24 @@ -512,7 +512,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 124 + src/gameobjects/BitmapData.js line 124 @@ -589,7 +589,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 54 + src/gameobjects/BitmapData.js line 54 @@ -666,7 +666,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 60 + src/gameobjects/BitmapData.js line 60 @@ -743,7 +743,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 65 + src/gameobjects/BitmapData.js line 65 @@ -821,7 +821,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 84 + src/gameobjects/BitmapData.js line 84 @@ -898,7 +898,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 159 + src/gameobjects/BitmapData.js line 159 @@ -975,7 +975,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 154 + src/gameobjects/BitmapData.js line 154 @@ -1052,7 +1052,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 135 + src/gameobjects/BitmapData.js line 135 @@ -1129,7 +1129,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 33 + src/gameobjects/BitmapData.js line 33 @@ -1206,7 +1206,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 48 + src/gameobjects/BitmapData.js line 48 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 77 + src/gameobjects/BitmapData.js line 77 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 38 + src/gameobjects/BitmapData.js line 38 @@ -1439,7 +1439,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 94 + src/gameobjects/BitmapData.js line 94 @@ -1516,7 +1516,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 70 + src/gameobjects/BitmapData.js line 70 @@ -1593,7 +1593,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 130 + src/gameobjects/BitmapData.js line 130 @@ -1670,7 +1670,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 141 + src/gameobjects/BitmapData.js line 141 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 149 + src/gameobjects/BitmapData.js line 149 @@ -1824,7 +1824,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 43 + src/gameobjects/BitmapData.js line 43 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2531 + src/gameobjects/BitmapData.js line 2531 @@ -2240,7 +2240,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 393 + src/gameobjects/BitmapData.js line 393 @@ -2618,7 +2618,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1217 + src/gameobjects/BitmapData.js line 1217 @@ -2924,7 +2924,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1776 + src/gameobjects/BitmapData.js line 1776 @@ -3032,7 +3032,7 @@

Source:
- src/gameobjects/BitmapData.js line 2256 + src/gameobjects/BitmapData.js line 2256 @@ -3140,7 +3140,7 @@

Source:
- src/gameobjects/BitmapData.js line 2438 + src/gameobjects/BitmapData.js line 2438 @@ -3248,7 +3248,7 @@

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

Source:
- src/gameobjects/BitmapData.js line 2334 + src/gameobjects/BitmapData.js line 2334 @@ -3464,7 +3464,7 @@

Source:
- src/gameobjects/BitmapData.js line 2308 + src/gameobjects/BitmapData.js line 2308 @@ -3572,7 +3572,7 @@

Source:
- src/gameobjects/BitmapData.js line 2230 + src/gameobjects/BitmapData.js line 2230 @@ -3680,7 +3680,7 @@

Source:
- src/gameobjects/BitmapData.js line 2204 + src/gameobjects/BitmapData.js line 2204 @@ -3788,7 +3788,7 @@

Source:
- src/gameobjects/BitmapData.js line 2217 + src/gameobjects/BitmapData.js line 2217 @@ -3896,7 +3896,7 @@

Source:
- src/gameobjects/BitmapData.js line 2191 + src/gameobjects/BitmapData.js line 2191 @@ -4004,7 +4004,7 @@

Source:
- src/gameobjects/BitmapData.js line 2386 + src/gameobjects/BitmapData.js line 2386 @@ -4112,7 +4112,7 @@

Source:
- src/gameobjects/BitmapData.js line 2399 + src/gameobjects/BitmapData.js line 2399 @@ -4220,7 +4220,7 @@

Source:
- src/gameobjects/BitmapData.js line 2360 + src/gameobjects/BitmapData.js line 2360 @@ -4328,7 +4328,7 @@

Source:
- src/gameobjects/BitmapData.js line 2412 + src/gameobjects/BitmapData.js line 2412 @@ -4436,7 +4436,7 @@

Source:
- src/gameobjects/BitmapData.js line 2321 + src/gameobjects/BitmapData.js line 2321 @@ -4544,7 +4544,7 @@

Source:
- src/gameobjects/BitmapData.js line 2451 + src/gameobjects/BitmapData.js line 2451 @@ -4652,7 +4652,7 @@

Source:
- src/gameobjects/BitmapData.js line 2269 + src/gameobjects/BitmapData.js line 2269 @@ -4760,7 +4760,7 @@

Source:
- src/gameobjects/BitmapData.js line 2295 + src/gameobjects/BitmapData.js line 2295 @@ -4868,7 +4868,7 @@

Source:
- src/gameobjects/BitmapData.js line 2126 + src/gameobjects/BitmapData.js line 2126 @@ -4976,7 +4976,7 @@

Source:
- src/gameobjects/BitmapData.js line 2425 + src/gameobjects/BitmapData.js line 2425 @@ -5084,7 +5084,7 @@

Source:
- src/gameobjects/BitmapData.js line 2282 + src/gameobjects/BitmapData.js line 2282 @@ -5192,7 +5192,7 @@

Source:
- src/gameobjects/BitmapData.js line 2373 + src/gameobjects/BitmapData.js line 2373 @@ -5300,7 +5300,7 @@

Source:
- src/gameobjects/BitmapData.js line 2178 + src/gameobjects/BitmapData.js line 2178 @@ -5408,7 +5408,7 @@

Source:
- src/gameobjects/BitmapData.js line 2152 + src/gameobjects/BitmapData.js line 2152 @@ -5516,7 +5516,7 @@

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

Source:
- src/gameobjects/BitmapData.js line 2139 + src/gameobjects/BitmapData.js line 2139 @@ -5732,7 +5732,7 @@

Source:
- src/gameobjects/BitmapData.js line 2243 + src/gameobjects/BitmapData.js line 2243 @@ -5998,7 +5998,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1929 + src/gameobjects/BitmapData.js line 1929 @@ -6296,7 +6296,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 463 + src/gameobjects/BitmapData.js line 463 @@ -6404,7 +6404,7 @@

Source:
- src/gameobjects/BitmapData.js line 457 + src/gameobjects/BitmapData.js line 457 @@ -7212,7 +7212,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1243 + src/gameobjects/BitmapData.js line 1243 @@ -7453,7 +7453,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2464 + src/gameobjects/BitmapData.js line 2464 @@ -7873,7 +7873,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1572 + src/gameobjects/BitmapData.js line 1572 @@ -8144,7 +8144,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1464 + src/gameobjects/BitmapData.js line 1464 @@ -8252,7 +8252,7 @@

Source:
- src/gameobjects/BitmapData.js line 2111 + src/gameobjects/BitmapData.js line 2111 @@ -8653,7 +8653,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1591 + src/gameobjects/BitmapData.js line 1591 @@ -8931,7 +8931,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1686 + src/gameobjects/BitmapData.js line 1686 @@ -9192,7 +9192,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1619 + src/gameobjects/BitmapData.js line 1619 @@ -9675,7 +9675,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1810 + src/gameobjects/BitmapData.js line 1810 @@ -9961,7 +9961,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 494 + src/gameobjects/BitmapData.js line 494 @@ -10209,7 +10209,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 516 + src/gameobjects/BitmapData.js line 516 @@ -10383,7 +10383,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1189 + src/gameobjects/BitmapData.js line 1189 @@ -10567,7 +10567,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1106 + src/gameobjects/BitmapData.js line 1106 @@ -10803,7 +10803,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1023 + src/gameobjects/BitmapData.js line 1023 @@ -10988,7 +10988,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1054 + src/gameobjects/BitmapData.js line 1054 @@ -11318,7 +11318,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1074 + src/gameobjects/BitmapData.js line 1074 @@ -11476,7 +11476,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1093 + src/gameobjects/BitmapData.js line 1093 @@ -11838,7 +11838,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1958 + src/gameobjects/BitmapData.js line 1958 @@ -12017,7 +12017,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 422 + src/gameobjects/BitmapData.js line 422 @@ -12268,7 +12268,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 240 + src/gameobjects/BitmapData.js line 240 @@ -12483,7 +12483,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 267 + src/gameobjects/BitmapData.js line 267 @@ -12698,7 +12698,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 330 + src/gameobjects/BitmapData.js line 330 @@ -13002,7 +13002,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1992 + src/gameobjects/BitmapData.js line 1992 @@ -13372,7 +13372,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 738 + src/gameobjects/BitmapData.js line 738 @@ -13745,7 +13745,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 680 + src/gameobjects/BitmapData.js line 680 @@ -14043,7 +14043,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1863 + src/gameobjects/BitmapData.js line 1863 @@ -14153,7 +14153,7 @@

Source:
- src/gameobjects/BitmapData.js line 2091 + src/gameobjects/BitmapData.js line 2091 @@ -14580,7 +14580,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 792 + src/gameobjects/BitmapData.js line 792 @@ -14762,7 +14762,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 590 + src/gameobjects/BitmapData.js line 590 @@ -15058,7 +15058,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 842 + src/gameobjects/BitmapData.js line 842 @@ -15416,7 +15416,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1005 + src/gameobjects/BitmapData.js line 1005 @@ -15810,7 +15810,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 966 + src/gameobjects/BitmapData.js line 966 @@ -16106,7 +16106,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1744 + src/gameobjects/BitmapData.js line 1744 @@ -16404,7 +16404,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 903 + src/gameobjects/BitmapData.js line 903 @@ -16772,7 +16772,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1887 + src/gameobjects/BitmapData.js line 1887 @@ -17025,7 +17025,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2041 + src/gameobjects/BitmapData.js line 2041 @@ -17326,7 +17326,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 634 + src/gameobjects/BitmapData.js line 634 @@ -17393,9 +17393,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -17412,7 +17412,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -17441,7 +17441,7 @@
Returns:
- + diff --git a/docs/Phaser.BitmapText.html b/docs/Phaser.BitmapText.html index ef903bac9..8d563d901 100644 --- a/docs/Phaser.BitmapText.html +++ b/docs/Phaser.BitmapText.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapText - + @@ -489,7 +489,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 54 + src/gameobjects/BitmapText.js line 54 @@ -627,7 +627,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 536 + src/gameobjects/BitmapText.js line 536 @@ -724,7 +724,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -820,7 +820,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -897,7 +897,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 92 + src/gameobjects/BitmapText.js line 92 @@ -988,7 +988,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1075,7 +1075,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1275,7 +1275,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1542,7 +1542,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1808,7 +1808,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1894,7 +1894,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1980,7 +1980,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2076,7 +2076,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2162,7 +2162,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2249,7 +2249,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2326,7 +2326,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 153 + src/gameobjects/BitmapText.js line 153 @@ -2413,7 +2413,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2511,7 +2511,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2597,7 +2597,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2688,7 +2688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2781,7 +2781,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 580 + src/gameobjects/BitmapText.js line 580 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 603 + src/gameobjects/BitmapText.js line 603 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3108,7 +3108,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3194,7 +3194,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -3290,7 +3290,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3378,7 +3378,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3465,7 +3465,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3556,7 +3556,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3649,7 +3649,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3735,7 +3735,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -3837,7 +3837,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3924,7 +3924,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4014,7 +4014,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4103,7 +4103,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -4184,7 +4184,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 649 + src/gameobjects/BitmapText.js line 649 @@ -4271,7 +4271,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4359,7 +4359,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4447,7 +4447,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4533,7 +4533,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4620,7 +4620,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -4709,7 +4709,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4798,7 +4798,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4875,7 +4875,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 75 + src/gameobjects/BitmapText.js line 75 @@ -4962,7 +4962,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5050,7 +5050,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5136,7 +5136,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5222,7 +5222,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5309,7 +5309,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5396,7 +5396,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5483,7 +5483,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5572,7 +5572,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5661,7 +5661,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5740,7 +5740,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 682 + src/gameobjects/BitmapText.js line 682 @@ -5817,7 +5817,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 627 + src/gameobjects/BitmapText.js line 627 @@ -5894,7 +5894,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 87 + src/gameobjects/BitmapText.js line 87 @@ -5971,7 +5971,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 81 + src/gameobjects/BitmapText.js line 81 @@ -6048,7 +6048,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 558 + src/gameobjects/BitmapText.js line 558 @@ -6135,7 +6135,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6212,7 +6212,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 69 + src/gameobjects/BitmapText.js line 69 @@ -6311,7 +6311,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -6397,7 +6397,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -6485,7 +6485,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6577,7 +6577,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6668,7 +6668,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6759,7 +6759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6850,7 +6850,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -6941,7 +6941,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7027,7 +7027,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7119,7 +7119,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -7211,7 +7211,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -7300,7 +7300,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7437,7 +7437,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7628,7 +7628,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7971,7 +7971,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8315,7 +8315,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8531,7 +8531,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 312 + src/gameobjects/BitmapText.js line 312 @@ -8698,7 +8698,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8818,7 +8818,7 @@

Source:
- src/pixi/display/DisplayObject.js line 255 + src/pixi/display/DisplayObject.js line 255 @@ -9063,7 +9063,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -9247,7 +9247,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -9414,7 +9414,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9581,7 +9581,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9698,7 +9698,7 @@

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

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -9932,7 +9932,7 @@

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

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

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

Source:
- src/gameobjects/BitmapText.js line 478 + src/gameobjects/BitmapText.js line 478 @@ -10394,7 +10394,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -10561,7 +10561,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -10752,7 +10752,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -10991,7 +10991,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11180,7 +11180,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -11371,7 +11371,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -11506,7 +11506,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 217 + src/gameobjects/BitmapText.js line 217 @@ -11673,7 +11673,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -11816,7 +11816,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -12029,7 +12029,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -12150,7 +12150,7 @@

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -12331,7 +12331,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -12360,7 +12360,7 @@
Returns:
- + diff --git a/docs/Phaser.Bullet.html b/docs/Phaser.Bullet.html index eac2af0ca..e9c379c20 100644 --- a/docs/Phaser.Bullet.html +++ b/docs/Phaser.Bullet.html @@ -6,7 +6,7 @@ Phaser CE Class: Bullet - + @@ -339,7 +339,7 @@
Parameters:
Source:
- src/plugins/weapon/Bullet.js line 20 + src/plugins/weapon/Bullet.js line 20 @@ -480,7 +480,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -576,7 +576,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -666,7 +666,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -757,7 +757,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -844,7 +844,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -941,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1035,7 +1035,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1757,7 +1757,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1843,7 +1843,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1931,7 +1931,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2032,7 +2032,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2118,7 +2118,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2205,7 +2205,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2292,7 +2292,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2378,7 +2378,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2465,7 +2465,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2552,7 +2552,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2657,7 +2657,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2743,7 +2743,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2834,7 +2834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2927,7 +2927,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3018,7 +3018,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3109,7 +3109,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3196,7 +3196,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3376,7 +3376,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3462,7 +3462,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -3558,7 +3558,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3646,7 +3646,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3733,7 +3733,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3824,7 +3824,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3917,7 +3917,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4003,7 +4003,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -4105,7 +4105,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4192,7 +4192,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4282,7 +4282,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4371,7 +4371,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -4465,7 +4465,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4552,7 +4552,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4640,7 +4640,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4728,7 +4728,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4814,7 +4814,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4901,7 +4901,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -4990,7 +4990,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5079,7 +5079,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5165,7 +5165,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5252,7 +5252,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5340,7 +5340,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5426,7 +5426,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5512,7 +5512,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5599,7 +5599,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5686,7 +5686,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5773,7 +5773,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5867,7 +5867,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5956,7 +5956,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6044,7 +6044,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6132,7 +6132,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6226,7 +6226,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6314,7 +6314,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6400,7 +6400,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6493,7 +6493,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6586,7 +6586,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6673,7 +6673,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6759,7 +6759,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6845,7 +6845,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6931,7 +6931,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7035,7 +7035,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7121,7 +7121,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -7209,7 +7209,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7301,7 +7301,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7392,7 +7392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7483,7 +7483,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -7574,7 +7574,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7665,7 +7665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7751,7 +7751,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7838,7 +7838,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -7925,7 +7925,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -8014,7 +8014,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8151,7 +8151,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8342,7 +8342,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8685,7 +8685,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -9029,7 +9029,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9149,7 +9149,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9316,7 +9316,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9542,7 +9542,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9686,7 +9686,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9805,7 +9805,7 @@

Source:
- src/pixi/display/DisplayObject.js line 255 + src/pixi/display/DisplayObject.js line 255 @@ -10050,7 +10050,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -10226,7 +10226,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10393,7 +10393,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10560,7 +10560,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10677,7 +10677,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10844,7 +10844,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -10958,7 +10958,7 @@

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

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

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11618,7 +11618,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11924,7 +11924,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12041,7 +12041,7 @@

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

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

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12394,7 +12394,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12561,7 +12561,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12752,7 +12752,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -12991,7 +12991,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13108,7 +13108,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13301,7 +13301,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13466,7 +13466,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -13586,7 +13586,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13777,7 +13777,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -13921,7 +13921,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -14065,7 +14065,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14326,7 +14326,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -14526,7 +14526,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -14693,7 +14693,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14836,7 +14836,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -15049,7 +15049,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -15164,7 +15164,7 @@

Source:
- src/plugins/weapon/Bullet.js line 60 + src/plugins/weapon/Bullet.js line 60 @@ -15257,7 +15257,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -15377,7 +15377,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -15540,7 +15540,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -15609,9 +15609,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -15628,7 +15628,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -15657,7 +15657,7 @@
Returns:
- + diff --git a/docs/Phaser.Button.html b/docs/Phaser.Button.html index cc88780a8..0d69d3e40 100644 --- a/docs/Phaser.Button.html +++ b/docs/Phaser.Button.html @@ -6,7 +6,7 @@ Phaser CE Class: Button - + @@ -613,7 +613,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 35 + src/gameobjects/Button.js line 35 @@ -749,7 +749,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -845,7 +845,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -935,7 +935,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1113,7 +1113,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1210,7 +1210,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1304,7 +1304,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1391,7 +1391,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1484,7 +1484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1571,7 +1571,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1658,7 +1658,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1745,7 +1745,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1831,7 +1831,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2005,7 +2005,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2101,7 +2101,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2187,7 +2187,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2274,7 +2274,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2361,7 +2361,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2461,7 +2461,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2547,7 +2547,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2638,7 +2638,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2731,7 +2731,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2812,7 +2812,7 @@
Type:
Source:
- src/gameobjects/Button.js line 203 + src/gameobjects/Button.js line 203 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3004,7 +3004,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3081,7 +3081,7 @@
Type:
Source:
- src/gameobjects/Button.js line 193 + src/gameobjects/Button.js line 193 @@ -3168,7 +3168,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3254,7 +3254,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3340,7 +3340,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -3436,7 +3436,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3524,7 +3524,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3611,7 +3611,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3702,7 +3702,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3800,7 +3800,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3878,7 +3878,7 @@
Type:
Source:
- src/gameobjects/Button.js line 186 + src/gameobjects/Button.js line 186 @@ -3980,7 +3980,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4067,7 +4067,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4157,7 +4157,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4246,7 +4246,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -4333,7 +4333,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4421,7 +4421,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4509,7 +4509,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4592,7 +4592,7 @@
Type:
Source:
- src/gameobjects/Button.js line 105 + src/gameobjects/Button.js line 105 @@ -4669,7 +4669,7 @@
Type:
Source:
- src/gameobjects/Button.js line 133 + src/gameobjects/Button.js line 133 @@ -4746,7 +4746,7 @@
Type:
Source:
- src/gameobjects/Button.js line 161 + src/gameobjects/Button.js line 161 @@ -4830,7 +4830,7 @@
Type:
Source:
- src/gameobjects/Button.js line 154 + src/gameobjects/Button.js line 154 @@ -4914,7 +4914,7 @@
Type:
Source:
- src/gameobjects/Button.js line 147 + src/gameobjects/Button.js line 147 @@ -4998,7 +4998,7 @@
Type:
Source:
- src/gameobjects/Button.js line 168 + src/gameobjects/Button.js line 168 @@ -5088,7 +5088,7 @@
Type:
Source:
- src/gameobjects/Button.js line 98 + src/gameobjects/Button.js line 98 @@ -5165,7 +5165,7 @@
Type:
Source:
- src/gameobjects/Button.js line 126 + src/gameobjects/Button.js line 126 @@ -5250,7 +5250,7 @@
Type:
Source:
- src/gameobjects/Button.js line 177 + src/gameobjects/Button.js line 177 @@ -5333,7 +5333,7 @@
Type:
Source:
- src/gameobjects/Button.js line 91 + src/gameobjects/Button.js line 91 @@ -5410,7 +5410,7 @@
Type:
Source:
- src/gameobjects/Button.js line 119 + src/gameobjects/Button.js line 119 @@ -5493,7 +5493,7 @@
Type:
Source:
- src/gameobjects/Button.js line 112 + src/gameobjects/Button.js line 112 @@ -5570,7 +5570,7 @@
Type:
Source:
- src/gameobjects/Button.js line 140 + src/gameobjects/Button.js line 140 @@ -5659,7 +5659,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5748,7 +5748,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5825,7 +5825,7 @@
Type:
Source:
- src/gameobjects/Button.js line 56 + src/gameobjects/Button.js line 56 @@ -5912,7 +5912,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -6000,7 +6000,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -6086,7 +6086,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -6172,7 +6172,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -6259,7 +6259,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -6346,7 +6346,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -6433,7 +6433,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -6522,7 +6522,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6611,7 +6611,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6699,7 +6699,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6787,7 +6787,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6881,7 +6881,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6969,7 +6969,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -7055,7 +7055,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -7148,7 +7148,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -7241,7 +7241,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -7328,7 +7328,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -7414,7 +7414,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7500,7 +7500,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7582,7 +7582,7 @@
Type:
Source:
- src/gameobjects/Button.js line 50 + src/gameobjects/Button.js line 50 @@ -7681,7 +7681,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7767,7 +7767,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -7855,7 +7855,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7947,7 +7947,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -8038,7 +8038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -8129,7 +8129,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -8220,7 +8220,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -8311,7 +8311,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -8397,7 +8397,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -8484,7 +8484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -8571,7 +8571,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -8660,7 +8660,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8797,7 +8797,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8988,7 +8988,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -9331,7 +9331,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -9675,7 +9675,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9795,7 +9795,7 @@

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

Source:
- src/gameobjects/Button.js line 235 + src/gameobjects/Button.js line 235 @@ -10046,7 +10046,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10272,7 +10272,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -10367,7 +10367,7 @@

Source:
- src/pixi/display/DisplayObject.js line 255 + src/pixi/display/DisplayObject.js line 255 @@ -10612,7 +10612,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -10788,7 +10788,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10955,7 +10955,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -11122,7 +11122,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -11239,7 +11239,7 @@

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

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -11645,7 +11645,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11741,7 +11741,7 @@

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

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -12043,7 +12043,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 521 + src/gameobjects/Button.js line 521 @@ -12201,7 +12201,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 501 + src/gameobjects/Button.js line 501 @@ -12359,7 +12359,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 468 + src/gameobjects/Button.js line 468 @@ -12541,7 +12541,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 541 + src/gameobjects/Button.js line 541 @@ -12700,7 +12700,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -13006,7 +13006,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -13123,7 +13123,7 @@

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

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

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -13452,7 +13452,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -13619,7 +13619,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -13810,7 +13810,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -14049,7 +14049,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -14166,7 +14166,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -14359,7 +14359,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -14524,7 +14524,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -14644,7 +14644,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -14835,7 +14835,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -15016,7 +15016,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 440 + src/gameobjects/Button.js line 440 @@ -15160,7 +15160,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -15421,7 +15421,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 310 + src/gameobjects/Button.js line 310 @@ -15602,7 +15602,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 426 + src/gameobjects/Button.js line 426 @@ -15783,7 +15783,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 412 + src/gameobjects/Button.js line 412 @@ -16020,7 +16020,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -16418,7 +16418,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 386 + src/gameobjects/Button.js line 386 @@ -16618,7 +16618,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -16799,7 +16799,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 454 + src/gameobjects/Button.js line 454 @@ -16966,7 +16966,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -17109,7 +17109,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -17322,7 +17322,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -17443,7 +17443,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -17656,7 +17656,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -17819,7 +17819,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -17888,9 +17888,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -17907,7 +17907,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -17936,7 +17936,7 @@
Returns:
- + diff --git a/docs/Phaser.Cache.html b/docs/Phaser.Cache.html index 371d32ea1..912d5ae90 100644 --- a/docs/Phaser.Cache.html +++ b/docs/Phaser.Cache.html @@ -6,7 +6,7 @@ Phaser CE Class: Cache - + @@ -245,7 +245,7 @@
Parameters:
Source:
- src/loader/Cache.js line 34 + src/loader/Cache.js line 34 @@ -346,7 +346,7 @@
Type:
Source:
- src/loader/Cache.js line 179 + src/loader/Cache.js line 179 @@ -419,7 +419,7 @@
Type:
Source:
- src/loader/Cache.js line 185 + src/loader/Cache.js line 185 @@ -492,7 +492,7 @@
Type:
Source:
- src/loader/Cache.js line 191 + src/loader/Cache.js line 191 @@ -565,7 +565,7 @@
Type:
Source:
- src/loader/Cache.js line 137 + src/loader/Cache.js line 137 @@ -642,7 +642,7 @@
Type:
Source:
- src/loader/Cache.js line 228 + src/loader/Cache.js line 228 @@ -719,7 +719,7 @@
Type:
Source:
- src/loader/Cache.js line 235 + src/loader/Cache.js line 235 @@ -796,7 +796,7 @@
Type:
Source:
- src/loader/Cache.js line 242 + src/loader/Cache.js line 242 @@ -869,7 +869,7 @@
Type:
Source:
- src/loader/Cache.js line 143 + src/loader/Cache.js line 143 @@ -942,7 +942,7 @@
Type:
Source:
- src/loader/Cache.js line 197 + src/loader/Cache.js line 197 @@ -1019,7 +1019,7 @@
Type:
Source:
- src/loader/Cache.js line 249 + src/loader/Cache.js line 249 @@ -1096,7 +1096,7 @@
Type:
Source:
- src/loader/Cache.js line 256 + src/loader/Cache.js line 256 @@ -1173,7 +1173,7 @@
Type:
Source:
- src/loader/Cache.js line 263 + src/loader/Cache.js line 263 @@ -1246,7 +1246,7 @@
Type:
Source:
- src/loader/Cache.js line 167 + src/loader/Cache.js line 167 @@ -1330,7 +1330,7 @@
Type:
Source:
- src/loader/Cache.js line 271 + src/loader/Cache.js line 271 @@ -1403,7 +1403,7 @@
Type:
Source:
- src/loader/Cache.js line 221 + src/loader/Cache.js line 221 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/loader/Cache.js line 215 + src/loader/Cache.js line 215 @@ -1549,7 +1549,7 @@
Type:
Source:
- src/loader/Cache.js line 155 + src/loader/Cache.js line 155 @@ -1622,7 +1622,7 @@
Type:
Source:
- src/loader/Cache.js line 161 + src/loader/Cache.js line 161 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/loader/Cache.js line 149 + src/loader/Cache.js line 149 @@ -1768,7 +1768,7 @@
Type:
Source:
- src/loader/Cache.js line 173 + src/loader/Cache.js line 173 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/loader/Cache.js line 209 + src/loader/Cache.js line 209 @@ -1914,7 +1914,7 @@
Type:
Source:
- src/loader/Cache.js line 203 + src/loader/Cache.js line 203 @@ -1991,7 +1991,7 @@
Type:
Source:
- src/loader/Cache.js line 45 + src/loader/Cache.js line 45 @@ -2068,7 +2068,7 @@
Type:
Source:
- src/loader/Cache.js line 39 + src/loader/Cache.js line 39 @@ -2145,7 +2145,7 @@
Type:
Source:
- src/loader/Cache.js line 127 + src/loader/Cache.js line 127 @@ -2222,7 +2222,7 @@
Type:
Source:
- src/loader/Cache.js line 92 + src/loader/Cache.js line 92 @@ -2374,7 +2374,7 @@
Parameters:
Source:
- src/loader/Cache.js line 532 + src/loader/Cache.js line 532 @@ -2603,7 +2603,7 @@
Parameters:
Source:
- src/loader/Cache.js line 545 + src/loader/Cache.js line 545 @@ -3005,7 +3005,7 @@
Parameters:
Source:
- src/loader/Cache.js line 570 + src/loader/Cache.js line 570 @@ -3388,7 +3388,7 @@
Parameters:
Source:
- src/loader/Cache.js line 609 + src/loader/Cache.js line 609 @@ -3598,7 +3598,7 @@
Parameters:
Source:
- src/loader/Cache.js line 319 + src/loader/Cache.js line 319 @@ -3685,7 +3685,7 @@

Source:
- src/loader/Cache.js line 407 + src/loader/Cache.js line 407 @@ -3869,7 +3869,7 @@
Parameters:
Source:
- src/loader/Cache.js line 335 + src/loader/Cache.js line 335 @@ -4075,7 +4075,7 @@
Parameters:
Source:
- src/loader/Cache.js line 664 + src/loader/Cache.js line 664 @@ -4162,7 +4162,7 @@

Source:
- src/loader/Cache.js line 428 + src/loader/Cache.js line 428 @@ -4368,7 +4368,7 @@
Parameters:
Source:
- src/loader/Cache.js line 498 + src/loader/Cache.js line 498 @@ -4526,7 +4526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 729 + src/loader/Cache.js line 729 @@ -4708,7 +4708,7 @@
Parameters:
Source:
- src/loader/Cache.js line 713 + src/loader/Cache.js line 713 @@ -4938,7 +4938,7 @@
Parameters:
Source:
- src/loader/Cache.js line 446 + src/loader/Cache.js line 446 @@ -5392,7 +5392,7 @@
Parameters:
Source:
- src/loader/Cache.js line 742 + src/loader/Cache.js line 742 @@ -5574,7 +5574,7 @@
Parameters:
Source:
- src/loader/Cache.js line 482 + src/loader/Cache.js line 482 @@ -5804,7 +5804,7 @@
Parameters:
Source:
- src/loader/Cache.js line 780 + src/loader/Cache.js line 780 @@ -6010,7 +6010,7 @@
Parameters:
Source:
- src/loader/Cache.js line 515 + src/loader/Cache.js line 515 @@ -6216,7 +6216,7 @@
Parameters:
Source:
- src/loader/Cache.js line 696 + src/loader/Cache.js line 696 @@ -6398,7 +6398,7 @@
Parameters:
Source:
- src/loader/Cache.js line 680 + src/loader/Cache.js line 680 @@ -6532,7 +6532,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1079 + src/loader/Cache.js line 1079 @@ -6690,7 +6690,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1092 + src/loader/Cache.js line 1092 @@ -6848,7 +6848,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1105 + src/loader/Cache.js line 1105 @@ -7006,7 +7006,7 @@
Parameters:
Source:
- src/loader/Cache.js line 988 + src/loader/Cache.js line 988 @@ -7164,7 +7164,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1001 + src/loader/Cache.js line 1001 @@ -7322,7 +7322,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1118 + src/loader/Cache.js line 1118 @@ -7504,7 +7504,7 @@
Parameters:
Source:
- src/loader/Cache.js line 948 + src/loader/Cache.js line 948 @@ -7662,7 +7662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1053 + src/loader/Cache.js line 1053 @@ -7820,7 +7820,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1170 + src/loader/Cache.js line 1170 @@ -7978,7 +7978,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1157 + src/loader/Cache.js line 1157 @@ -8136,7 +8136,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1027 + src/loader/Cache.js line 1027 @@ -8294,7 +8294,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1040 + src/loader/Cache.js line 1040 @@ -8452,7 +8452,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1014 + src/loader/Cache.js line 1014 @@ -8610,7 +8610,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1066 + src/loader/Cache.js line 1066 @@ -8771,7 +8771,7 @@
Parameters:
Source:
- src/loader/Cache.js line 967 + src/loader/Cache.js line 967 @@ -8929,7 +8929,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1144 + src/loader/Cache.js line 1144 @@ -9087,7 +9087,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1131 + src/loader/Cache.js line 1131 @@ -9196,7 +9196,7 @@

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

Source:
- src/loader/Cache.js line 2111 + src/loader/Cache.js line 2111 @@ -9571,7 +9571,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2142 + src/loader/Cache.js line 2142 @@ -9761,7 +9761,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1590 + src/loader/Cache.js line 1590 @@ -9921,7 +9921,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1430 + src/loader/Cache.js line 1430 @@ -10081,7 +10081,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1447 + src/loader/Cache.js line 1447 @@ -10241,7 +10241,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1464 + src/loader/Cache.js line 1464 @@ -10401,7 +10401,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1225 + src/loader/Cache.js line 1225 @@ -10615,7 +10615,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1606 + src/loader/Cache.js line 1606 @@ -10865,7 +10865,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1700 + src/loader/Cache.js line 1700 @@ -11115,7 +11115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1724 + src/loader/Cache.js line 1724 @@ -11329,7 +11329,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1622 + src/loader/Cache.js line 1622 @@ -11545,7 +11545,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1645 + src/loader/Cache.js line 1645 @@ -11765,7 +11765,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1242 + src/loader/Cache.js line 1242 @@ -12035,7 +12035,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1187 + src/loader/Cache.js line 1187 @@ -12253,7 +12253,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1481 + src/loader/Cache.js line 1481 @@ -12431,7 +12431,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1773 + src/loader/Cache.js line 1773 @@ -12684,7 +12684,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1351 + src/loader/Cache.js line 1351 @@ -12844,7 +12844,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1569 + src/loader/Cache.js line 1569 @@ -13004,7 +13004,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1552 + src/loader/Cache.js line 1552 @@ -13164,7 +13164,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1300 + src/loader/Cache.js line 1300 @@ -13324,7 +13324,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1317 + src/loader/Cache.js line 1317 @@ -13484,7 +13484,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1334 + src/loader/Cache.js line 1334 @@ -13643,7 +13643,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1285 + src/loader/Cache.js line 1285 @@ -13803,7 +13803,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1413 + src/loader/Cache.js line 1413 @@ -13963,7 +13963,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1748 + src/loader/Cache.js line 1748 @@ -14123,7 +14123,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1535 + src/loader/Cache.js line 1535 @@ -14283,7 +14283,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1518 + src/loader/Cache.js line 1518 @@ -14497,7 +14497,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1665 + src/loader/Cache.js line 1665 @@ -14655,7 +14655,7 @@
Parameters:
Source:
- src/loader/Cache.js line 907 + src/loader/Cache.js line 907 @@ -14814,7 +14814,7 @@
Parameters:
Source:
- src/loader/Cache.js line 925 + src/loader/Cache.js line 925 @@ -14972,7 +14972,7 @@
Parameters:
Source:
- src/loader/Cache.js line 830 + src/loader/Cache.js line 830 @@ -15106,7 +15106,7 @@
Parameters:
Source:
- src/loader/Cache.js line 855 + src/loader/Cache.js line 855 @@ -15242,7 +15242,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1911 + src/loader/Cache.js line 1911 @@ -15378,7 +15378,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1926 + src/loader/Cache.js line 1926 @@ -15514,7 +15514,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1941 + src/loader/Cache.js line 1941 @@ -15650,7 +15650,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1805 + src/loader/Cache.js line 1805 @@ -15843,7 +15843,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1820 + src/loader/Cache.js line 1820 @@ -15979,7 +15979,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1956 + src/loader/Cache.js line 1956 @@ -16115,7 +16115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1881 + src/loader/Cache.js line 1881 @@ -16251,7 +16251,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2016 + src/loader/Cache.js line 2016 @@ -16387,7 +16387,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2001 + src/loader/Cache.js line 2001 @@ -16526,7 +16526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1847 + src/loader/Cache.js line 1847 @@ -16662,7 +16662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2031 + src/loader/Cache.js line 2031 @@ -16798,7 +16798,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1866 + src/loader/Cache.js line 1866 @@ -16934,7 +16934,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2046 + src/loader/Cache.js line 2046 @@ -17070,7 +17070,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1896 + src/loader/Cache.js line 1896 @@ -17206,7 +17206,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1986 + src/loader/Cache.js line 1986 @@ -17342,7 +17342,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1971 + src/loader/Cache.js line 1971 @@ -17568,7 +17568,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1681 + src/loader/Cache.js line 1681 @@ -17702,7 +17702,7 @@
Parameters:
Source:
- src/loader/Cache.js line 873 + src/loader/Cache.js line 873 @@ -17745,9 +17745,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -17764,7 +17764,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -17793,7 +17793,7 @@
Parameters:
- + diff --git a/docs/Phaser.Camera.html b/docs/Phaser.Camera.html index 6c37d69b3..48f4f02fd 100644 --- a/docs/Phaser.Camera.html +++ b/docs/Phaser.Camera.html @@ -6,7 +6,7 @@ Phaser CE Class: Camera - + @@ -351,7 +351,7 @@
Parameters:
Source:
- src/core/Camera.js line 20 + src/core/Camera.js line 20 @@ -452,7 +452,7 @@
Type:
Source:
- src/core/Camera.js line 245 + src/core/Camera.js line 245 @@ -529,7 +529,7 @@
Type:
Source:
- src/core/Camera.js line 197 + src/core/Camera.js line 197 @@ -606,7 +606,7 @@
Type:
Source:
- src/core/Camera.js line 205 + src/core/Camera.js line 205 @@ -683,7 +683,7 @@
Type:
Source:
- src/core/Camera.js line 213 + src/core/Camera.js line 213 @@ -760,7 +760,7 @@
Type:
Source:
- src/core/Camera.js line 221 + src/core/Camera.js line 221 @@ -833,7 +833,7 @@
Type:
Source:
- src/core/Camera.js line 227 + src/core/Camera.js line 227 @@ -906,7 +906,7 @@
Type:
Source:
- src/core/Camera.js line 233 + src/core/Camera.js line 233 @@ -979,7 +979,7 @@
Type:
Source:
- src/core/Camera.js line 239 + src/core/Camera.js line 239 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/core/Camera.js line 76 + src/core/Camera.js line 76 @@ -1135,7 +1135,7 @@
Type:
Source:
- src/core/Camera.js line 54 + src/core/Camera.js line 54 @@ -1212,7 +1212,7 @@
Type:
Source:
- src/core/Camera.js line 59 + src/core/Camera.js line 59 @@ -1289,7 +1289,7 @@
Type:
Source:
- src/core/Camera.js line 87 + src/core/Camera.js line 87 @@ -1366,7 +1366,7 @@
Type:
Source:
- src/core/Camera.js line 962 + src/core/Camera.js line 962 @@ -1443,7 +1443,7 @@
Type:
Source:
- src/core/Camera.js line 135 + src/core/Camera.js line 135 @@ -1520,7 +1520,7 @@
Type:
Source:
- src/core/Camera.js line 25 + src/core/Camera.js line 25 @@ -1597,7 +1597,7 @@
Type:
Source:
- src/core/Camera.js line 918 + src/core/Camera.js line 918 @@ -1674,7 +1674,7 @@
Type:
Source:
- src/core/Camera.js line 36 + src/core/Camera.js line 36 @@ -1755,7 +1755,7 @@
Type:
Source:
- src/core/Camera.js line 109 + src/core/Camera.js line 109 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/core/Camera.js line 128 + src/core/Camera.js line 128 @@ -1912,7 +1912,7 @@
Type:
Source:
- src/core/Camera.js line 119 + src/core/Camera.js line 119 @@ -1989,7 +1989,7 @@
Type:
Source:
- src/core/Camera.js line 114 + src/core/Camera.js line 114 @@ -2066,7 +2066,7 @@
Type:
Source:
- src/core/Camera.js line 869 + src/core/Camera.js line 869 @@ -2150,7 +2150,7 @@
Type:
Source:
- src/core/Camera.js line 71 + src/core/Camera.js line 71 @@ -2227,7 +2227,7 @@
Type:
Source:
- src/core/Camera.js line 92 + src/core/Camera.js line 92 @@ -2304,7 +2304,7 @@
Type:
Source:
- src/core/Camera.js line 940 + src/core/Camera.js line 940 @@ -2381,7 +2381,7 @@
Type:
Source:
- src/core/Camera.js line 82 + src/core/Camera.js line 82 @@ -2458,7 +2458,7 @@
Type:
Source:
- src/core/Camera.js line 98 + src/core/Camera.js line 98 @@ -2538,7 +2538,7 @@
Type:
Source:
- src/core/Camera.js line 45 + src/core/Camera.js line 45 @@ -2622,7 +2622,7 @@
Type:
Source:
- src/core/Camera.js line 65 + src/core/Camera.js line 65 @@ -2699,7 +2699,7 @@
Type:
Source:
- src/core/Camera.js line 897 + src/core/Camera.js line 897 @@ -2776,7 +2776,7 @@
Type:
Source:
- src/core/Camera.js line 30 + src/core/Camera.js line 30 @@ -2853,7 +2853,7 @@
Type:
Source:
- src/core/Camera.js line 819 + src/core/Camera.js line 819 @@ -2930,7 +2930,7 @@
Type:
Source:
- src/core/Camera.js line 844 + src/core/Camera.js line 844 @@ -3009,7 +3009,7 @@

Source:
- src/core/Camera.js line 675 + src/core/Camera.js line 675 @@ -3290,7 +3290,7 @@
Parameters:
Source:
- src/core/Camera.js line 457 + src/core/Camera.js line 457 @@ -3591,7 +3591,7 @@
Parameters:
Source:
- src/core/Camera.js line 415 + src/core/Camera.js line 415 @@ -3749,7 +3749,7 @@
Parameters:
Source:
- src/core/Camera.js line 349 + src/core/Camera.js line 349 @@ -3907,7 +3907,7 @@
Parameters:
Source:
- src/core/Camera.js line 360 + src/core/Camera.js line 360 @@ -4185,7 +4185,7 @@
Parameters:
Source:
- src/core/Camera.js line 283 + src/core/Camera.js line 283 @@ -4269,7 +4269,7 @@

Source:
- src/core/Camera.js line 272 + src/core/Camera.js line 272 @@ -4355,7 +4355,7 @@

Source:
- src/core/Camera.js line 775 + src/core/Camera.js line 775 @@ -4440,7 +4440,7 @@

Source:
- src/core/Camera.js line 797 + src/core/Camera.js line 797 @@ -4524,7 +4524,7 @@

Source:
- src/core/Camera.js line 661 + src/core/Camera.js line 661 @@ -4683,7 +4683,7 @@
Parameters:
Source:
- src/core/Camera.js line 741 + src/core/Camera.js line 741 @@ -4841,7 +4841,7 @@
Parameters:
Source:
- src/core/Camera.js line 761 + src/core/Camera.js line 761 @@ -5158,7 +5158,7 @@
Parameters:
Source:
- src/core/Camera.js line 372 + src/core/Camera.js line 372 @@ -5266,7 +5266,7 @@

Source:
- src/core/Camera.js line 338 + src/core/Camera.js line 338 @@ -5350,7 +5350,7 @@

Source:
- src/core/Camera.js line 504 + src/core/Camera.js line 504 @@ -5393,9 +5393,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -5412,7 +5412,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -5441,7 +5441,7 @@

- + diff --git a/docs/Phaser.Canvas.html b/docs/Phaser.Canvas.html index d9472a655..8d8dbc2d4 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 287 + src/utils/Canvas.js line 287 @@ -1750,7 +1750,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 260 + src/utils/Canvas.js line 260 @@ -1945,7 +1945,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 192 + src/utils/Canvas.js line 192 @@ -2147,7 +2147,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 65 + src/utils/Canvas.js line 65 @@ -2449,7 +2449,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 171 + src/utils/Canvas.js line 171 @@ -2651,7 +2651,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 85 + src/utils/Canvas.js line 85 @@ -2718,9 +2718,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2737,7 +2737,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

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

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

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

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

Source:
- src/utils/CanvasPool.js line 178 + src/utils/CanvasPool.js line 178 @@ -1024,7 +1024,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 81 + src/utils/CanvasPool.js line 81 @@ -1159,7 +1159,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 105 + src/utils/CanvasPool.js line 105 @@ -1202,9 +1202,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1221,7 +1221,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1250,7 +1250,7 @@
Parameters:
- + diff --git a/docs/Phaser.Circle.html b/docs/Phaser.Circle.html index e8084de09..86c986779 100644 --- a/docs/Phaser.Circle.html +++ b/docs/Phaser.Circle.html @@ -6,7 +6,7 @@ Phaser CE Class: Circle - + @@ -331,7 +331,7 @@
Parameters:
Source:
- src/geom/Circle.js line 17 + src/geom/Circle.js line 17 @@ -436,7 +436,7 @@
Type:
Source:
- src/geom/Circle.js line 451 + src/geom/Circle.js line 451 @@ -513,7 +513,7 @@
Type:
Source:
- src/geom/Circle.js line 424 + src/geom/Circle.js line 424 @@ -590,7 +590,7 @@
Type:
Source:
- src/geom/Circle.js line 297 + src/geom/Circle.js line 297 @@ -668,7 +668,7 @@
Type:
Source:
- src/geom/Circle.js line 474 + src/geom/Circle.js line 474 @@ -734,7 +734,7 @@

Source:
- src/geom/Circle.js line 343 + src/geom/Circle.js line 343 @@ -811,7 +811,7 @@
Type:
Source:
- src/geom/Circle.js line 320 + src/geom/Circle.js line 320 @@ -888,7 +888,7 @@
Type:
Source:
- src/geom/Circle.js line 370 + src/geom/Circle.js line 370 @@ -965,7 +965,7 @@
Type:
Source:
- src/geom/Circle.js line 397 + src/geom/Circle.js line 397 @@ -1042,7 +1042,7 @@
Type:
Source:
- src/geom/Circle.js line 54 + src/geom/Circle.js line 54 @@ -1119,7 +1119,7 @@
Type:
Source:
- src/geom/Circle.js line 26 + src/geom/Circle.js line 26 @@ -1196,7 +1196,7 @@
Type:
Source:
- src/geom/Circle.js line 31 + src/geom/Circle.js line 31 @@ -1454,7 +1454,7 @@
Parameters:
Source:
- src/geom/Circle.js line 549 + src/geom/Circle.js line 549 @@ -1660,7 +1660,7 @@
Parameters:
Source:
- src/geom/Circle.js line 497 + src/geom/Circle.js line 497 @@ -1842,7 +1842,7 @@
Parameters:
Source:
- src/geom/Circle.js line 522 + src/geom/Circle.js line 522 @@ -2025,7 +2025,7 @@
Parameters:
Source:
- src/geom/Circle.js line 535 + src/geom/Circle.js line 535 @@ -2259,7 +2259,7 @@
Parameters:
Source:
- src/geom/Circle.js line 615 + src/geom/Circle.js line 615 @@ -2441,7 +2441,7 @@
Parameters:
Source:
- src/geom/Circle.js line 575 + src/geom/Circle.js line 575 @@ -2549,7 +2549,7 @@

Source:
- src/geom/Circle.js line 60 + src/geom/Circle.js line 60 @@ -2801,7 +2801,7 @@
Parameters:
Source:
- src/geom/Circle.js line 205 + src/geom/Circle.js line 205 @@ -2971,7 +2971,7 @@
Parameters:
Source:
- src/geom/Circle.js line 171 + src/geom/Circle.js line 171 @@ -3153,7 +3153,7 @@
Parameters:
Source:
- src/geom/Circle.js line 192 + src/geom/Circle.js line 192 @@ -3311,7 +3311,7 @@
Parameters:
Source:
- src/geom/Circle.js line 128 + src/geom/Circle.js line 128 @@ -3469,7 +3469,7 @@
Parameters:
Source:
- src/geom/Circle.js line 140 + src/geom/Circle.js line 140 @@ -3684,7 +3684,7 @@
Parameters:
Source:
- src/geom/Circle.js line 156 + src/geom/Circle.js line 156 @@ -3792,7 +3792,7 @@

Source:
- src/geom/Circle.js line 97 + src/geom/Circle.js line 97 @@ -3974,7 +3974,7 @@
Parameters:
Source:
- src/geom/Circle.js line 258 + src/geom/Circle.js line 258 @@ -4132,7 +4132,7 @@
Parameters:
Source:
- src/geom/Circle.js line 274 + src/geom/Circle.js line 274 @@ -4306,7 +4306,7 @@
Parameters:
Source:
- src/geom/Circle.js line 72 + src/geom/Circle.js line 72 @@ -4644,7 +4644,7 @@
Parameters:
Source:
- src/geom/Circle.js line 234 + src/geom/Circle.js line 234 @@ -4852,7 +4852,7 @@
Parameters:
Source:
- src/geom/Circle.js line 109 + src/geom/Circle.js line 109 @@ -4960,7 +4960,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -5046,7 +5046,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -5075,7 +5075,7 @@
Returns:
- + diff --git a/docs/Phaser.Color.html b/docs/Phaser.Color.html index 16331df24..2c477e872 100644 --- a/docs/Phaser.Color.html +++ b/docs/Phaser.Color.html @@ -6,7 +6,7 @@ Phaser CE Class: Color - + @@ -180,7 +180,7 @@

Source:
- src/utils/Color.js line 12 + src/utils/Color.js line 12 @@ -292,7 +292,7 @@
Type:
Source:
- src/utils/Color.js line 57 + src/utils/Color.js line 57 @@ -369,7 +369,7 @@
Type:
Source:
- src/utils/Color.js line 93 + src/utils/Color.js line 93 @@ -453,7 +453,7 @@
Type:
Source:
- src/utils/Color.js line 66 + src/utils/Color.js line 66 @@ -537,7 +537,7 @@
Type:
Source:
- src/utils/Color.js line 102 + src/utils/Color.js line 102 @@ -621,7 +621,7 @@
Type:
Source:
- src/utils/Color.js line 48 + src/utils/Color.js line 48 @@ -705,7 +705,7 @@
Type:
Source:
- src/utils/Color.js line 30 + src/utils/Color.js line 30 @@ -789,7 +789,7 @@
Type:
Source:
- src/utils/Color.js line 21 + src/utils/Color.js line 21 @@ -873,7 +873,7 @@
Type:
Source:
- src/utils/Color.js line 75 + src/utils/Color.js line 75 @@ -957,7 +957,7 @@
Type:
Source:
- src/utils/Color.js line 84 + src/utils/Color.js line 84 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/utils/Color.js line 39 + src/utils/Color.js line 39 @@ -1193,7 +1193,7 @@
Parameters:
Source:
- src/utils/Color.js line 1264 + src/utils/Color.js line 1264 @@ -1375,7 +1375,7 @@
Parameters:
Source:
- src/utils/Color.js line 1251 + src/utils/Color.js line 1251 @@ -1558,7 +1558,7 @@
Parameters:
Source:
- src/utils/Color.js line 1423 + src/utils/Color.js line 1423 @@ -1741,7 +1741,7 @@
Parameters:
Source:
- src/utils/Color.js line 1409 + src/utils/Color.js line 1409 @@ -1923,7 +1923,7 @@
Parameters:
Source:
- src/utils/Color.js line 1222 + src/utils/Color.js line 1222 @@ -2106,7 +2106,7 @@
Parameters:
Source:
- src/utils/Color.js line 1290 + src/utils/Color.js line 1290 @@ -2289,7 +2289,7 @@
Parameters:
Source:
- src/utils/Color.js line 1333 + src/utils/Color.js line 1333 @@ -2471,7 +2471,7 @@
Parameters:
Source:
- src/utils/Color.js line 1537 + src/utils/Color.js line 1537 @@ -2660,7 +2660,7 @@
Parameters:
Source:
- src/utils/Color.js line 1385 + src/utils/Color.js line 1385 @@ -2845,7 +2845,7 @@
Parameters:
Source:
- src/utils/Color.js line 1508 + src/utils/Color.js line 1508 @@ -3027,7 +3027,7 @@
Parameters:
Source:
- src/utils/Color.js line 1209 + src/utils/Color.js line 1209 @@ -3209,7 +3209,7 @@
Parameters:
Source:
- src/utils/Color.js line 1450 + src/utils/Color.js line 1450 @@ -3391,7 +3391,7 @@
Parameters:
Source:
- src/utils/Color.js line 1437 + src/utils/Color.js line 1437 @@ -3575,7 +3575,7 @@
Parameters:
Source:
- src/utils/Color.js line 1463 + src/utils/Color.js line 1463 @@ -3760,7 +3760,7 @@
Parameters:
Source:
- src/utils/Color.js line 1235 + src/utils/Color.js line 1235 @@ -3942,7 +3942,7 @@
Parameters:
Source:
- src/utils/Color.js line 1305 + src/utils/Color.js line 1305 @@ -4124,7 +4124,7 @@
Parameters:
Source:
- src/utils/Color.js line 1196 + src/utils/Color.js line 1196 @@ -4308,7 +4308,7 @@
Parameters:
Source:
- src/utils/Color.js line 1347 + src/utils/Color.js line 1347 @@ -4490,7 +4490,7 @@
Parameters:
Source:
- src/utils/Color.js line 1550 + src/utils/Color.js line 1550 @@ -4673,7 +4673,7 @@
Parameters:
Source:
- src/utils/Color.js line 1494 + src/utils/Color.js line 1494 @@ -4855,7 +4855,7 @@
Parameters:
Source:
- src/utils/Color.js line 1524 + src/utils/Color.js line 1524 @@ -5039,7 +5039,7 @@
Parameters:
Source:
- src/utils/Color.js line 1318 + src/utils/Color.js line 1318 @@ -5228,7 +5228,7 @@
Parameters:
Source:
- src/utils/Color.js line 1362 + src/utils/Color.js line 1362 @@ -5410,7 +5410,7 @@
Parameters:
Source:
- src/utils/Color.js line 1277 + src/utils/Color.js line 1277 @@ -5595,7 +5595,7 @@
Parameters:
Source:
- src/utils/Color.js line 1478 + src/utils/Color.js line 1478 @@ -5753,7 +5753,7 @@
Parameters:
Source:
- src/utils/Color.js line 816 + src/utils/Color.js line 816 @@ -6220,7 +6220,7 @@
Parameters:
Source:
- src/utils/Color.js line 560 + src/utils/Color.js line 560 @@ -6430,7 +6430,7 @@
Parameters:
Source:
- src/utils/Color.js line 187 + src/utils/Color.js line 187 @@ -6588,7 +6588,7 @@
Parameters:
Source:
- src/utils/Color.js line 1136 + src/utils/Color.js line 1136 @@ -6746,7 +6746,7 @@
Parameters:
Source:
- src/utils/Color.js line 1148 + src/utils/Color.js line 1148 @@ -6904,7 +6904,7 @@
Parameters:
Source:
- src/utils/Color.js line 1184 + src/utils/Color.js line 1184 @@ -7110,7 +7110,7 @@
Parameters:
Source:
- src/utils/Color.js line 622 + src/utils/Color.js line 622 @@ -7340,7 +7340,7 @@
Parameters:
Source:
- src/utils/Color.js line 605 + src/utils/Color.js line 605 @@ -7498,7 +7498,7 @@
Parameters:
Source:
- src/utils/Color.js line 1172 + src/utils/Color.js line 1172 @@ -7758,7 +7758,7 @@
Parameters:
Source:
- src/utils/Color.js line 1040 + src/utils/Color.js line 1040 @@ -7916,7 +7916,7 @@
Parameters:
Source:
- src/utils/Color.js line 1160 + src/utils/Color.js line 1160 @@ -8075,7 +8075,7 @@
Parameters:
Source:
- src/utils/Color.js line 1072 + src/utils/Color.js line 1072 @@ -8236,7 +8236,7 @@
Parameters:
Source:
- src/utils/Color.js line 1114 + src/utils/Color.js line 1114 @@ -8440,7 +8440,7 @@
Parameters:
Source:
- src/utils/Color.js line 686 + src/utils/Color.js line 686 @@ -8598,7 +8598,7 @@
Parameters:
Source:
- src/utils/Color.js line 667 + src/utils/Color.js line 667 @@ -8756,7 +8756,7 @@
Parameters:
Source:
- src/utils/Color.js line 251 + src/utils/Color.js line 251 @@ -8974,7 +8974,7 @@
Parameters:
Source:
- src/utils/Color.js line 857 + src/utils/Color.js line 857 @@ -9243,7 +9243,7 @@
Parameters:
Source:
- src/utils/Color.js line 342 + src/utils/Color.js line 342 @@ -9461,7 +9461,7 @@
Parameters:
Source:
- src/utils/Color.js line 832 + src/utils/Color.js line 832 @@ -9730,7 +9730,7 @@
Parameters:
Source:
- src/utils/Color.js line 449 + src/utils/Color.js line 449 @@ -9937,7 +9937,7 @@
Parameters:
Source:
- src/utils/Color.js line 518 + src/utils/Color.js line 518 @@ -10297,7 +10297,7 @@
Parameters:
Source:
- src/utils/Color.js line 882 + src/utils/Color.js line 882 @@ -10575,7 +10575,7 @@
Parameters:
Source:
- src/utils/Color.js line 950 + src/utils/Color.js line 950 @@ -10901,7 +10901,7 @@
Parameters:
Source:
- src/utils/Color.js line 974 + src/utils/Color.js line 974 @@ -11109,7 +11109,7 @@
Parameters:
Source:
- src/utils/Color.js line 999 + src/utils/Color.js line 999 @@ -11293,7 +11293,7 @@
Parameters:
Source:
- src/utils/Color.js line 1018 + src/utils/Color.js line 1018 @@ -11531,7 +11531,7 @@
Parameters:
Source:
- src/utils/Color.js line 104 + src/utils/Color.js line 104 @@ -11689,7 +11689,7 @@
Parameters:
Source:
- src/utils/Color.js line 269 + src/utils/Color.js line 269 @@ -11958,7 +11958,7 @@
Parameters:
Source:
- src/utils/Color.js line 283 + src/utils/Color.js line 283 @@ -12227,7 +12227,7 @@
Parameters:
Source:
- src/utils/Color.js line 393 + src/utils/Color.js line 393 @@ -12554,7 +12554,7 @@
Parameters:
Source:
- src/utils/Color.js line 638 + src/utils/Color.js line 638 @@ -12784,7 +12784,7 @@
Parameters:
Source:
- src/utils/Color.js line 234 + src/utils/Color.js line 234 @@ -13021,7 +13021,7 @@
Parameters:
Source:
- src/utils/Color.js line 216 + src/utils/Color.js line 216 @@ -13326,7 +13326,7 @@
Parameters:
Source:
- src/utils/Color.js line 130 + src/utils/Color.js line 130 @@ -13484,7 +13484,7 @@
Parameters:
Source:
- src/utils/Color.js line 587 + src/utils/Color.js line 587 @@ -13691,7 +13691,7 @@
Parameters:
Source:
- src/utils/Color.js line 763 + src/utils/Color.js line 763 @@ -13894,7 +13894,7 @@
Parameters:
Source:
- src/utils/Color.js line 730 + src/utils/Color.js line 730 @@ -13961,9 +13961,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -13980,7 +13980,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -14009,7 +14009,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Angle.html b/docs/Phaser.Component.Angle.html index 1dd7b3180..6762719e7 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 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -323,9 +323,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -342,7 +342,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -371,7 +371,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Animation.html b/docs/Phaser.Component.Animation.html index 3994455fd..5b193d40e 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.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -420,7 +420,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -449,7 +449,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Bounds.html b/docs/Phaser.Component.Bounds.html index 20bb95d56..1ddf1e142 100644 --- a/docs/Phaser.Component.Bounds.html +++ b/docs/Phaser.Component.Bounds.html @@ -6,7 +6,7 @@ Phaser CE Class: Bounds - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Bounds.js line 12 + src/gameobjects/components/Bounds.js line 12 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -364,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -442,7 +442,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -520,7 +520,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -599,7 +599,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -678,7 +678,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -756,7 +756,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -834,7 +834,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -1138,7 +1138,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -1473,7 +1473,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -1540,9 +1540,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1559,7 +1559,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1588,7 +1588,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.BringToTop.html b/docs/Phaser.Component.BringToTop.html index 08c492e21..8b840a115 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.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -733,7 +733,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Core.html b/docs/Phaser.Component.Core.html index cbc110761..d533acf18 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 @@ -285,7 +285,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 19 + src/gameobjects/components/Core.js line 19 @@ -363,7 +363,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -447,7 +447,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -534,7 +534,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -611,7 +611,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -689,7 +689,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -778,7 +778,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -856,7 +856,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -933,7 +933,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -1104,7 +1104,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -1184,7 +1184,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -1261,7 +1261,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -1338,7 +1338,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -1416,7 +1416,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -1495,7 +1495,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -1575,7 +1575,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -1654,7 +1654,7 @@

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

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

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

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2055,7 +2055,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.Crop.html b/docs/Phaser.Component.Crop.html index 8cdbb8f52..b00371a9b 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 @@ -288,7 +288,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -479,7 +479,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -564,7 +564,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -626,7 +626,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.Delta.html b/docs/Phaser.Component.Delta.html index 01e885bbf..991db0a56 100644 --- a/docs/Phaser.Component.Delta.html +++ b/docs/Phaser.Component.Delta.html @@ -6,7 +6,7 @@ Phaser CE Class: Delta - + @@ -180,7 +180,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -493,7 +493,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -522,7 +522,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Destroy.html b/docs/Phaser.Component.Destroy.html index 44895eb6e..5daaff5c4 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 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -478,7 +478,7 @@
Parameters:
Source:
- src/gameobjects/components/Destroy.js line 37 + src/gameobjects/components/Destroy.js line 37 @@ -521,9 +521,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -540,7 +540,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -569,7 +569,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.FixedToCamera.html b/docs/Phaser.Component.FixedToCamera.html index 0e83cb9af..b64ea9e7c 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 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -371,7 +371,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -450,7 +450,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -512,7 +512,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.Health.html b/docs/Phaser.Component.Health.html index eeca35bef..c016a1a6e 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 @@ -295,7 +295,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -380,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -509,7 +509,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -667,7 +667,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -826,7 +826,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -893,9 +893,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -912,7 +912,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -941,7 +941,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.InCamera.html b/docs/Phaser.Component.InCamera.html index d207c7104..6966e81e9 100644 --- a/docs/Phaser.Component.InCamera.html +++ b/docs/Phaser.Component.InCamera.html @@ -6,7 +6,7 @@ Phaser CE Class: InCamera - + @@ -180,7 +180,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -339,7 +339,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Component.InWorld.html b/docs/Phaser.Component.InWorld.html index 96679e249..1cb0c5668 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 @@ -293,7 +293,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -370,7 +370,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -447,7 +447,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -525,7 +525,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -604,7 +604,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -666,7 +666,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.InputEnabled.html b/docs/Phaser.Component.InputEnabled.html index 1a64ef24f..3902e35fe 100644 --- a/docs/Phaser.Component.InputEnabled.html +++ b/docs/Phaser.Component.InputEnabled.html @@ -6,7 +6,7 @@ Phaser CE Class: InputEnabled - + @@ -180,7 +180,7 @@

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -426,7 +426,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

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

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -810,7 +810,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

Source:
- src/gameobjects/components/LoadTexture.js line 12 + src/gameobjects/components/LoadTexture.js line 12 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -372,7 +372,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -618,7 +618,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -702,7 +702,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -886,7 +886,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -1021,7 +1021,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -1064,9 +1064,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1083,7 +1083,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1112,7 +1112,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Overlap.html b/docs/Phaser.Component.Overlap.html index 7376261e2..09c899d65 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.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -463,7 +463,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.PhysicsBody.html b/docs/Phaser.Component.PhysicsBody.html index df11ccfb6..0dbf05538 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 @@ -303,7 +303,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -380,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 106 + src/gameobjects/components/PhysicsBody.js line 106 @@ -457,7 +457,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 132 + src/gameobjects/components/PhysicsBody.js line 132 @@ -536,7 +536,7 @@

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -683,7 +683,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.Reset.html b/docs/Phaser.Component.Reset.html index 6f4861616..9b7cc6d5c 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.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -804,7 +804,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

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

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

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -339,7 +339,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Create.html b/docs/Phaser.Create.html index b360905d9..a5d091283 100644 --- a/docs/Phaser.Create.html +++ b/docs/Phaser.Create.html @@ -6,7 +6,7 @@ Phaser CE Class: Create - + @@ -233,7 +233,7 @@
Parameters:
Source:
- src/core/Create.js line 18 + src/core/Create.js line 18 @@ -338,7 +338,7 @@
Type:
Source:
- src/core/Create.js line 58 + src/core/Create.js line 58 @@ -415,7 +415,7 @@
Type:
Source:
- src/core/Create.js line 79 + src/core/Create.js line 79 @@ -492,7 +492,7 @@
Type:
Source:
- src/core/Create.js line 72 + src/core/Create.js line 72 @@ -569,7 +569,7 @@
Type:
Source:
- src/core/Create.js line 86 + src/core/Create.js line 86 @@ -646,7 +646,7 @@
Type:
Source:
- src/core/Create.js line 65 + src/core/Create.js line 65 @@ -723,7 +723,7 @@
Type:
Source:
- src/core/Create.js line 28 + src/core/Create.js line 28 @@ -800,7 +800,7 @@
Type:
Source:
- src/core/Create.js line 33 + src/core/Create.js line 33 @@ -915,7 +915,7 @@
Properties:
Source:
- src/core/Create.js line 38 + src/core/Create.js line 38 @@ -992,7 +992,7 @@
Type:
Source:
- src/core/Create.js line 23 + src/core/Create.js line 23 @@ -1069,7 +1069,7 @@
Type:
Source:
- src/core/Create.js line 43 + src/core/Create.js line 43 @@ -1451,7 +1451,7 @@
Parameters:
Source:
- src/core/Create.js line 231 + src/core/Create.js line 231 @@ -1924,7 +1924,7 @@
Parameters:
Source:
- src/core/Create.js line 170 + src/core/Create.js line 170 @@ -2388,7 +2388,7 @@
Parameters:
Source:
- src/core/Create.js line 90 + src/core/Create.js line 90 @@ -2458,9 +2458,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2477,7 +2477,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2506,7 +2506,7 @@
Returns:
- + diff --git a/docs/Phaser.Creature.html b/docs/Phaser.Creature.html index 8c6666501..8e140fc37 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 @@ -594,7 +594,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -676,7 +676,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 823 + src/gameobjects/Creature.js line 823 @@ -753,7 +753,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 710 + src/gameobjects/Creature.js line 710 @@ -830,7 +830,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 757 + src/gameobjects/Creature.js line 757 @@ -921,7 +921,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -998,7 +998,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 208 + src/gameobjects/Creature.js line 208 @@ -1085,7 +1085,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1182,7 +1182,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1275,7 +1275,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1448,7 +1448,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1525,7 +1525,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 281 + src/gameobjects/Creature.js line 281 @@ -1611,7 +1611,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1688,7 +1688,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 250 + src/gameobjects/Creature.js line 250 @@ -1765,7 +1765,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 244 + src/gameobjects/Creature.js line 244 @@ -1861,7 +1861,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -1947,7 +1947,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2034,7 +2034,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2121,7 +2121,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2219,7 +2219,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2305,7 +2305,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2396,7 +2396,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2489,7 +2489,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2576,7 +2576,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2658,7 +2658,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 181 + src/gameobjects/Creature.js line 181 @@ -2740,7 +2740,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 657 + src/gameobjects/Creature.js line 657 @@ -2836,7 +2836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2924,7 +2924,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3011,7 +3011,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3084,7 +3084,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 270 + src/gameobjects/Creature.js line 270 @@ -3175,7 +3175,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3268,7 +3268,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3345,7 +3345,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 617 + src/gameobjects/Creature.js line 617 @@ -3447,7 +3447,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3537,7 +3537,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -3614,7 +3614,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 637 + src/gameobjects/Creature.js line 637 @@ -3691,7 +3691,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 213 + src/gameobjects/Creature.js line 213 @@ -3780,7 +3780,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -3867,7 +3867,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -3956,7 +3956,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4045,7 +4045,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4132,7 +4132,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4220,7 +4220,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4306,7 +4306,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4392,7 +4392,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -4479,7 +4479,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4566,7 +4566,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -4655,7 +4655,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -4744,7 +4744,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4821,7 +4821,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 233 + src/gameobjects/Creature.js line 233 @@ -4905,7 +4905,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 219 + src/gameobjects/Creature.js line 219 @@ -4982,7 +4982,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 804 + src/gameobjects/Creature.js line 804 @@ -5059,7 +5059,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 189 + src/gameobjects/Creature.js line 189 @@ -5136,7 +5136,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 264 + src/gameobjects/Creature.js line 264 @@ -5213,7 +5213,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 258 + src/gameobjects/Creature.js line 258 @@ -5312,7 +5312,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -5394,7 +5394,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 683 + src/gameobjects/Creature.js line 683 @@ -5482,7 +5482,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5574,7 +5574,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5665,7 +5665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5756,7 +5756,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5847,7 +5847,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5938,7 +5938,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6024,7 +6024,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6111,7 +6111,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -6198,7 +6198,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -6287,7 +6287,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -6424,7 +6424,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6615,7 +6615,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -6735,7 +6735,7 @@

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

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

Source:
- src/pixi/display/DisplayObject.js line 255 + src/pixi/display/DisplayObject.js line 255 @@ -7347,7 +7347,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -7531,7 +7531,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -7698,7 +7698,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -7865,7 +7865,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -7982,7 +7982,7 @@

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

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -8223,7 +8223,7 @@

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

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

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

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

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -8939,7 +8939,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -9106,7 +9106,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -9297,7 +9297,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -9536,7 +9536,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -9725,7 +9725,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -9845,7 +9845,7 @@

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

Source:
- src/gameobjects/Creature.js line 842 + src/gameobjects/Creature.js line 842 @@ -10087,7 +10087,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 556 + src/gameobjects/Creature.js line 556 @@ -10221,7 +10221,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 572 + src/gameobjects/Creature.js line 572 @@ -10388,7 +10388,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -10472,7 +10472,7 @@

Source:
- src/gameobjects/Creature.js line 605 + src/gameobjects/Creature.js line 605 @@ -10639,7 +10639,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -10782,7 +10782,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -10995,7 +10995,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -11116,7 +11116,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -11398,7 +11398,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -11467,9 +11467,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -11486,7 +11486,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -11515,7 +11515,7 @@
Returns:
- + diff --git a/docs/Phaser.DOM.html b/docs/Phaser.DOM.html index 4fef41a6f..27799d80e 100644 --- a/docs/Phaser.DOM.html +++ b/docs/Phaser.DOM.html @@ -6,7 +6,7 @@ Phaser CE Class: DOM - + @@ -183,7 +183,7 @@

Source:
- src/utils/DOM.js line 18 + src/utils/DOM.js line 18 @@ -367,7 +367,7 @@
Properties:
Source:
- src/utils/DOM.js line 274 + src/utils/DOM.js line 274 @@ -529,7 +529,7 @@
Properties:
Source:
- src/utils/DOM.js line 260 + src/utils/DOM.js line 260 @@ -606,7 +606,7 @@
Type:
Source:
- src/utils/DOM.js line 289 + src/utils/DOM.js line 289 @@ -683,7 +683,7 @@
Type:
Source:
- src/utils/DOM.js line 301 + src/utils/DOM.js line 301 @@ -890,7 +890,7 @@
Properties:
Source:
- src/utils/DOM.js line 239 + src/utils/DOM.js line 239 @@ -1041,7 +1041,7 @@
Parameters:
Source:
- src/utils/DOM.js line 100 + src/utils/DOM.js line 100 @@ -1250,7 +1250,7 @@
Parameters:
Source:
- src/utils/DOM.js line 48 + src/utils/DOM.js line 48 @@ -1456,7 +1456,7 @@
Parameters:
Source:
- src/utils/DOM.js line 20 + src/utils/DOM.js line 20 @@ -1655,7 +1655,7 @@
Parameters:
Source:
- src/utils/DOM.js line 149 + src/utils/DOM.js line 149 @@ -1839,7 +1839,7 @@
Parameters:
Source:
- src/utils/DOM.js line 128 + src/utils/DOM.js line 128 @@ -1906,9 +1906,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1925,7 +1925,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1954,7 +1954,7 @@
Returns:
- + diff --git a/docs/Phaser.Device.html b/docs/Phaser.Device.html index b55c855af..29f91bb0b 100644 --- a/docs/Phaser.Device.html +++ b/docs/Phaser.Device.html @@ -6,7 +6,7 @@ Phaser CE Class: Device - + @@ -198,7 +198,7 @@

Source:
- src/utils/Device.js line 41 + src/utils/Device.js line 41 @@ -307,7 +307,7 @@
Type:
Source:
- src/utils/Device.js line 573 + src/utils/Device.js line 573 @@ -384,7 +384,7 @@
Type:
Source:
- src/utils/Device.js line 129 + src/utils/Device.js line 129 @@ -461,7 +461,7 @@
Type:
Source:
- src/utils/Device.js line 285 + src/utils/Device.js line 285 @@ -538,7 +538,7 @@
Type:
Source:
- src/utils/Device.js line 395 + src/utils/Device.js line 395 @@ -615,7 +615,7 @@
Type:
Source:
- src/utils/Device.js line 547 + src/utils/Device.js line 547 @@ -692,7 +692,7 @@
Type:
Source:
- src/utils/Device.js line 180 + src/utils/Device.js line 180 @@ -770,7 +770,7 @@
Type:
Source:
- src/utils/Device.js line 190 + src/utils/Device.js line 190 @@ -847,7 +847,7 @@
Type:
Source:
- src/utils/Device.js line 167 + src/utils/Device.js line 167 @@ -924,7 +924,7 @@
Type:
Source:
- src/utils/Device.js line 173 + src/utils/Device.js line 173 @@ -1001,7 +1001,7 @@
Type:
Source:
- src/utils/Device.js line 291 + src/utils/Device.js line 291 @@ -1078,7 +1078,7 @@
Type:
Source:
- src/utils/Device.js line 135 + src/utils/Device.js line 135 @@ -1155,7 +1155,7 @@
Type:
Source:
- src/utils/Device.js line 297 + src/utils/Device.js line 297 @@ -1232,7 +1232,7 @@
Type:
Source:
- src/utils/Device.js line 81 + src/utils/Device.js line 81 @@ -1309,7 +1309,7 @@
Type:
Source:
- src/utils/Device.js line 87 + src/utils/Device.js line 87 @@ -1386,7 +1386,7 @@
Type:
Source:
- src/utils/Device.js line 93 + src/utils/Device.js line 93 @@ -1463,7 +1463,7 @@
Type:
Source:
- src/utils/Device.js line 123 + src/utils/Device.js line 123 @@ -1540,7 +1540,7 @@
Type:
Source:
- src/utils/Device.js line 226 + src/utils/Device.js line 226 @@ -1617,7 +1617,7 @@
Type:
Source:
- src/utils/Device.js line 63 + src/utils/Device.js line 63 @@ -1694,7 +1694,7 @@
Type:
Source:
- src/utils/Device.js line 48 + src/utils/Device.js line 48 @@ -1771,7 +1771,7 @@
Type:
Source:
- src/utils/Device.js line 445 + src/utils/Device.js line 445 @@ -1848,7 +1848,7 @@
Type:
Source:
- src/utils/Device.js line 345 + src/utils/Device.js line 345 @@ -1925,7 +1925,7 @@
Type:
Source:
- src/utils/Device.js line 117 + src/utils/Device.js line 117 @@ -2002,7 +2002,7 @@
Type:
Source:
- src/utils/Device.js line 111 + src/utils/Device.js line 111 @@ -2079,7 +2079,7 @@
Type:
Source:
- src/utils/Device.js line 303 + src/utils/Device.js line 303 @@ -2156,7 +2156,7 @@
Type:
Source:
- src/utils/Device.js line 202 + src/utils/Device.js line 202 @@ -2233,7 +2233,7 @@
Type:
Source:
- src/utils/Device.js line 208 + src/utils/Device.js line 208 @@ -2310,7 +2310,7 @@
Type:
Source:
- src/utils/Device.js line 309 + src/utils/Device.js line 309 @@ -2387,7 +2387,7 @@
Type:
Source:
- src/utils/Device.js line 315 + src/utils/Device.js line 315 @@ -2464,7 +2464,7 @@
Type:
Source:
- src/utils/Device.js line 535 + src/utils/Device.js line 535 @@ -2541,7 +2541,7 @@
Type:
Source:
- src/utils/Device.js line 553 + src/utils/Device.js line 553 @@ -2625,7 +2625,7 @@
Type:
Source:
- src/utils/Device.js line 250 + src/utils/Device.js line 250 @@ -2702,7 +2702,7 @@
Type:
Source:
- src/utils/Device.js line 459 + src/utils/Device.js line 459 @@ -2779,7 +2779,7 @@
Type:
Source:
- src/utils/Device.js line 483 + src/utils/Device.js line 483 @@ -2856,7 +2856,7 @@
Type:
Source:
- src/utils/Device.js line 321 + src/utils/Device.js line 321 @@ -2933,7 +2933,7 @@
Type:
Source:
- src/utils/Device.js line 327 + src/utils/Device.js line 327 @@ -3010,7 +3010,7 @@
Type:
Source:
- src/utils/Device.js line 55 + src/utils/Device.js line 55 @@ -3087,7 +3087,7 @@
Type:
Source:
- src/utils/Device.js line 69 + src/utils/Device.js line 69 @@ -3164,7 +3164,7 @@
Type:
Source:
- src/utils/Device.js line 75 + src/utils/Device.js line 75 @@ -3241,7 +3241,7 @@
Type:
Source:
- src/utils/Device.js line 503 + src/utils/Device.js line 503 @@ -3318,7 +3318,7 @@
Type:
Source:
- src/utils/Device.js line 491 + src/utils/Device.js line 491 @@ -3395,7 +3395,7 @@
Type:
Source:
- src/utils/Device.js line 497 + src/utils/Device.js line 497 @@ -3472,7 +3472,7 @@
Type:
Source:
- src/utils/Device.js line 141 + src/utils/Device.js line 141 @@ -3549,7 +3549,7 @@
Type:
Source:
- src/utils/Device.js line 523 + src/utils/Device.js line 523 @@ -3626,7 +3626,7 @@
Type:
Source:
- src/utils/Device.js line 517 + src/utils/Device.js line 517 @@ -3703,7 +3703,7 @@
Type:
Source:
- src/utils/Device.js line 214 + src/utils/Device.js line 214 @@ -3780,7 +3780,7 @@
Type:
Source:
- src/utils/Device.js line 433 + src/utils/Device.js line 433 @@ -3857,7 +3857,7 @@
Type:
Source:
- src/utils/Device.js line 147 + src/utils/Device.js line 147 @@ -3934,7 +3934,7 @@
Type:
Source:
- src/utils/Device.js line 357 + src/utils/Device.js line 357 @@ -4011,7 +4011,7 @@
Type:
Source:
- src/utils/Device.js line 351 + src/utils/Device.js line 351 @@ -4088,7 +4088,7 @@
Type:
Source:
- src/utils/Device.js line 420 + src/utils/Device.js line 420 @@ -4165,7 +4165,7 @@
Type:
Source:
- src/utils/Device.js line 465 + src/utils/Device.js line 465 @@ -4242,7 +4242,7 @@
Type:
Source:
- src/utils/Device.js line 270 + src/utils/Device.js line 270 @@ -4319,7 +4319,7 @@
Type:
Source:
- src/utils/Device.js line 99 + src/utils/Device.js line 99 @@ -4396,7 +4396,7 @@
Type:
Source:
- src/utils/Device.js line 105 + src/utils/Device.js line 105 @@ -4473,7 +4473,7 @@
Type:
Source:
- src/utils/Device.js line 408 + src/utils/Device.js line 408 @@ -4550,7 +4550,7 @@
Type:
Source:
- src/utils/Device.js line 453 + src/utils/Device.js line 453 @@ -4627,7 +4627,7 @@
Type:
Source:
- src/utils/Device.js line 363 + src/utils/Device.js line 363 @@ -4704,7 +4704,7 @@
Type:
Source:
- src/utils/Device.js line 414 + src/utils/Device.js line 414 @@ -4781,7 +4781,7 @@
Type:
Source:
- src/utils/Device.js line 511 + src/utils/Device.js line 511 @@ -4858,7 +4858,7 @@
Type:
Source:
- src/utils/Device.js line 232 + src/utils/Device.js line 232 @@ -4935,7 +4935,7 @@
Type:
Source:
- src/utils/Device.js line 256 + src/utils/Device.js line 256 @@ -5012,7 +5012,7 @@
Type:
Source:
- src/utils/Device.js line 541 + src/utils/Device.js line 541 @@ -5089,7 +5089,7 @@
Type:
Source:
- src/utils/Device.js line 369 + src/utils/Device.js line 369 @@ -5166,7 +5166,7 @@
Type:
Source:
- src/utils/Device.js line 375 + src/utils/Device.js line 375 @@ -5243,7 +5243,7 @@
Type:
Source:
- src/utils/Device.js line 387 + src/utils/Device.js line 387 @@ -5320,7 +5320,7 @@
Type:
Source:
- src/utils/Device.js line 529 + src/utils/Device.js line 529 @@ -5397,7 +5397,7 @@
Type:
Source:
- src/utils/Device.js line 264 + src/utils/Device.js line 264 @@ -5474,7 +5474,7 @@
Type:
Source:
- src/utils/Device.js line 333 + src/utils/Device.js line 333 @@ -5551,7 +5551,7 @@
Type:
Source:
- src/utils/Device.js line 339 + src/utils/Device.js line 339 @@ -5628,7 +5628,7 @@
Type:
Source:
- src/utils/Device.js line 238 + src/utils/Device.js line 238 @@ -5705,7 +5705,7 @@
Type:
Source:
- src/utils/Device.js line 244 + src/utils/Device.js line 244 @@ -5782,7 +5782,7 @@
Type:
Source:
- src/utils/Device.js line 477 + src/utils/Device.js line 477 @@ -5859,7 +5859,7 @@
Type:
Source:
- src/utils/Device.js line 426 + src/utils/Device.js line 426 @@ -5936,7 +5936,7 @@
Type:
Source:
- src/utils/Device.js line 381 + src/utils/Device.js line 381 @@ -6013,7 +6013,7 @@
Type:
Source:
- src/utils/Device.js line 402 + src/utils/Device.js line 402 @@ -6097,7 +6097,7 @@
Type:
Source:
- src/utils/Device.js line 196 + src/utils/Device.js line 196 @@ -6174,7 +6174,7 @@
Type:
Source:
- src/utils/Device.js line 439 + src/utils/Device.js line 439 @@ -6251,7 +6251,7 @@
Type:
Source:
- src/utils/Device.js line 471 + src/utils/Device.js line 471 @@ -6376,7 +6376,7 @@
Properties:
Source:
- src/utils/Device.js line 277 + src/utils/Device.js line 277 @@ -6453,7 +6453,7 @@
Type:
Source:
- src/utils/Device.js line 153 + src/utils/Device.js line 153 @@ -6530,7 +6530,7 @@
Type:
Source:
- src/utils/Device.js line 159 + src/utils/Device.js line 159 @@ -6607,7 +6607,7 @@
Type:
Source:
- src/utils/Device.js line 220 + src/utils/Device.js line 220 @@ -6833,7 +6833,7 @@
Parameters:
Source:
- src/utils/Device.js line 589 + src/utils/Device.js line 589 @@ -6967,7 +6967,7 @@
Parameters:
Source:
- src/utils/Device.js line 1324 + src/utils/Device.js line 1324 @@ -7125,7 +7125,7 @@
Parameters:
Source:
- src/utils/Device.js line 1367 + src/utils/Device.js line 1367 @@ -7235,7 +7235,7 @@

Source:
- src/utils/Device.js line 1409 + src/utils/Device.js line 1409 @@ -7325,7 +7325,7 @@

Source:
- src/utils/Device.js line 1398 + src/utils/Device.js line 1398 @@ -7388,9 +7388,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -7407,7 +7407,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -7436,7 +7436,7 @@
Returns:
- + diff --git a/docs/Phaser.DeviceButton.html b/docs/Phaser.DeviceButton.html index c3bd6b509..4b6c51f2f 100644 --- a/docs/Phaser.DeviceButton.html +++ b/docs/Phaser.DeviceButton.html @@ -6,7 +6,7 @@ Phaser CE Class: DeviceButton - + @@ -269,7 +269,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 31 + src/input/DeviceButton.js line 31 @@ -375,7 +375,7 @@
Type:
Source:
- src/input/DeviceButton.js line 87 + src/input/DeviceButton.js line 87 @@ -452,7 +452,7 @@
Type:
Source:
- src/input/DeviceButton.js line 114 + src/input/DeviceButton.js line 114 @@ -530,7 +530,7 @@
Type:
Source:
- src/input/DeviceButton.js line 103 + src/input/DeviceButton.js line 103 @@ -608,7 +608,7 @@
Type:
Source:
- src/input/DeviceButton.js line 326 + src/input/DeviceButton.js line 326 @@ -685,7 +685,7 @@
Type:
Source:
- src/input/DeviceButton.js line 47 + src/input/DeviceButton.js line 47 @@ -762,7 +762,7 @@
Type:
Source:
- src/input/DeviceButton.js line 41 + src/input/DeviceButton.js line 41 @@ -839,7 +839,7 @@
Type:
Source:
- src/input/DeviceButton.js line 53 + src/input/DeviceButton.js line 53 @@ -923,7 +923,7 @@
Type:
Source:
- src/input/DeviceButton.js line 59 + src/input/DeviceButton.js line 59 @@ -1002,7 +1002,7 @@
Type:
Source:
- src/input/DeviceButton.js line 122 + src/input/DeviceButton.js line 122 @@ -1081,7 +1081,7 @@
Type:
Source:
- src/input/DeviceButton.js line 138 + src/input/DeviceButton.js line 138 @@ -1160,7 +1160,7 @@
Type:
Source:
- src/input/DeviceButton.js line 130 + src/input/DeviceButton.js line 130 @@ -1240,7 +1240,7 @@
Type:
Source:
- src/input/DeviceButton.js line 36 + src/input/DeviceButton.js line 36 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/input/DeviceButton.js line 79 + src/input/DeviceButton.js line 79 @@ -1396,7 +1396,7 @@
Type:
Source:
- src/input/DeviceButton.js line 95 + src/input/DeviceButton.js line 95 @@ -1473,7 +1473,7 @@
Type:
Source:
- src/input/DeviceButton.js line 65 + src/input/DeviceButton.js line 65 @@ -1550,7 +1550,7 @@
Type:
Source:
- src/input/DeviceButton.js line 71 + src/input/DeviceButton.js line 71 @@ -1627,7 +1627,7 @@
Type:
Source:
- src/input/DeviceButton.js line 109 + src/input/DeviceButton.js line 109 @@ -1706,7 +1706,7 @@

Source:
- src/input/DeviceButton.js line 305 + src/input/DeviceButton.js line 305 @@ -1861,7 +1861,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 254 + src/input/DeviceButton.js line 254 @@ -2040,7 +2040,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 270 + src/input/DeviceButton.js line 270 @@ -2198,7 +2198,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 236 + src/input/DeviceButton.js line 236 @@ -2282,7 +2282,7 @@

Source:
- src/input/DeviceButton.js line 286 + src/input/DeviceButton.js line 286 @@ -2463,7 +2463,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 144 + src/input/DeviceButton.js line 144 @@ -2678,7 +2678,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 213 + src/input/DeviceButton.js line 213 @@ -2859,7 +2859,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 179 + src/input/DeviceButton.js line 179 @@ -2902,9 +2902,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2921,7 +2921,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2950,7 +2950,7 @@
Parameters:
- + diff --git a/docs/Phaser.Easing.Back.html b/docs/Phaser.Easing.Back.html index 01216ddc5..5ef514f46 100644 --- a/docs/Phaser.Easing.Back.html +++ b/docs/Phaser.Easing.Back.html @@ -6,7 +6,7 @@ Phaser CE Class: Back - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 457 + src/tween/Easing.js line 457 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 459 + src/tween/Easing.js line 459 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 487 + src/tween/Easing.js line 487 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 473 + src/tween/Easing.js line 473 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Bounce.html b/docs/Phaser.Easing.Bounce.html index 8c3be89c7..4895ffff7 100644 --- a/docs/Phaser.Easing.Bounce.html +++ b/docs/Phaser.Easing.Bounce.html @@ -6,7 +6,7 @@ Phaser CE Class: Bounce - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 509 + src/tween/Easing.js line 509 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 511 + src/tween/Easing.js line 511 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 553 + src/tween/Easing.js line 553 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 524 + src/tween/Easing.js line 524 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Circular.html b/docs/Phaser.Easing.Circular.html index 91c0b975e..fddc87d28 100644 --- a/docs/Phaser.Easing.Circular.html +++ b/docs/Phaser.Easing.Circular.html @@ -6,7 +6,7 @@ Phaser CE Class: Circular - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 344 + src/tween/Easing.js line 344 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 346 + src/tween/Easing.js line 346 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 372 + src/tween/Easing.js line 372 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 359 + src/tween/Easing.js line 359 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Cubic.html b/docs/Phaser.Easing.Cubic.html index 311fcbec9..ed0c0866c 100644 --- a/docs/Phaser.Easing.Cubic.html +++ b/docs/Phaser.Easing.Cubic.html @@ -6,7 +6,7 @@ Phaser CE Class: Cubic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 92 + src/tween/Easing.js line 92 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 94 + src/tween/Easing.js line 94 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 120 + src/tween/Easing.js line 120 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 107 + src/tween/Easing.js line 107 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Elastic.html b/docs/Phaser.Easing.Elastic.html index 118ededcb..76a33c5d1 100644 --- a/docs/Phaser.Easing.Elastic.html +++ b/docs/Phaser.Easing.Elastic.html @@ -6,7 +6,7 @@ Phaser CE Class: Elastic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 393 + src/tween/Easing.js line 393 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 395 + src/tween/Easing.js line 395 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 431 + src/tween/Easing.js line 431 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 413 + src/tween/Easing.js line 413 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Exponential.html b/docs/Phaser.Easing.Exponential.html index 4ad6c78e5..51b3b0567 100644 --- a/docs/Phaser.Easing.Exponential.html +++ b/docs/Phaser.Easing.Exponential.html @@ -6,7 +6,7 @@ Phaser CE Class: Exponential - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 293 + src/tween/Easing.js line 293 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 295 + src/tween/Easing.js line 295 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 321 + src/tween/Easing.js line 321 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 308 + src/tween/Easing.js line 308 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Linear.html b/docs/Phaser.Easing.Linear.html index 14d55c898..22884fb1b 100644 --- a/docs/Phaser.Easing.Linear.html +++ b/docs/Phaser.Easing.Linear.html @@ -6,7 +6,7 @@ Phaser CE Class: Linear - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 21 + src/tween/Easing.js line 21 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 23 + src/tween/Easing.js line 23 @@ -399,9 +399,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -418,7 +418,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -447,7 +447,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quadratic.html b/docs/Phaser.Easing.Quadratic.html index a72a682da..9e27dc6ef 100644 --- a/docs/Phaser.Easing.Quadratic.html +++ b/docs/Phaser.Easing.Quadratic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quadratic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 43 + src/tween/Easing.js line 43 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 45 + src/tween/Easing.js line 45 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 71 + src/tween/Easing.js line 71 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 58 + src/tween/Easing.js line 58 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quartic.html b/docs/Phaser.Easing.Quartic.html index b7d8c3d62..a83bbbc15 100644 --- a/docs/Phaser.Easing.Quartic.html +++ b/docs/Phaser.Easing.Quartic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quartic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 141 + src/tween/Easing.js line 141 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 143 + src/tween/Easing.js line 143 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 169 + src/tween/Easing.js line 169 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 156 + src/tween/Easing.js line 156 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quintic.html b/docs/Phaser.Easing.Quintic.html index 12342ba8a..43a261709 100644 --- a/docs/Phaser.Easing.Quintic.html +++ b/docs/Phaser.Easing.Quintic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quintic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 190 + src/tween/Easing.js line 190 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 192 + src/tween/Easing.js line 192 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 218 + src/tween/Easing.js line 218 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 205 + src/tween/Easing.js line 205 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Sinusoidal.html b/docs/Phaser.Easing.Sinusoidal.html index 0007a92af..172e6c6fc 100644 --- a/docs/Phaser.Easing.Sinusoidal.html +++ b/docs/Phaser.Easing.Sinusoidal.html @@ -6,7 +6,7 @@ Phaser CE Class: Sinusoidal - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 239 + src/tween/Easing.js line 239 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 241 + src/tween/Easing.js line 241 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 271 + src/tween/Easing.js line 271 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 256 + src/tween/Easing.js line 256 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.html b/docs/Phaser.Easing.html index 14bcabe87..85707af04 100644 --- a/docs/Phaser.Easing.html +++ b/docs/Phaser.Easing.html @@ -6,7 +6,7 @@ Phaser CE Class: Easing - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 14 + src/tween/Easing.js line 14 @@ -274,9 +274,9 @@

Classes

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -293,7 +293,7 @@

Classes

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -322,7 +322,7 @@

Classes

- + diff --git a/docs/Phaser.Ellipse.html b/docs/Phaser.Ellipse.html index 2129047fd..635027f1b 100644 --- a/docs/Phaser.Ellipse.html +++ b/docs/Phaser.Ellipse.html @@ -6,7 +6,7 @@ Phaser CE Class: Ellipse - + @@ -370,7 +370,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 18 + src/geom/Ellipse.js line 18 @@ -475,7 +475,161 @@
Type:
Source:
- src/geom/Ellipse.js line 251 + src/geom/Ellipse.js line 248 + + + + + + + + + + + +
+ + + +
+

+ <readonly> centerX : number + +

+ +
+
+ +
+

The x coordinate of the center of the Ellipse.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/geom/Ellipse.js line 273 + + + + + + + +
+ + + +
+ + + +
+

+ <readonly> centerY : number + +

+ +
+
+ +
+

The y coordinate of the center of the Ellipse.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/geom/Ellipse.js line 287 @@ -553,7 +707,7 @@
Type:
Source:
- src/geom/Ellipse.js line 276 + src/geom/Ellipse.js line 301 @@ -630,7 +784,7 @@
Type:
Source:
- src/geom/Ellipse.js line 43 + src/geom/Ellipse.js line 43 @@ -696,7 +850,7 @@

Source:
- src/geom/Ellipse.js line 190 + src/geom/Ellipse.js line 187 @@ -773,7 +927,7 @@
Type:
Source:
- src/geom/Ellipse.js line 209 + src/geom/Ellipse.js line 206 @@ -850,7 +1004,7 @@
Type:
Source:
- src/geom/Ellipse.js line 234 + src/geom/Ellipse.js line 231 @@ -927,7 +1081,7 @@
Type:
Source:
- src/geom/Ellipse.js line 49 + src/geom/Ellipse.js line 49 @@ -1004,7 +1158,7 @@
Type:
Source:
- src/geom/Ellipse.js line 38 + src/geom/Ellipse.js line 38 @@ -1081,7 +1235,7 @@
Type:
Source:
- src/geom/Ellipse.js line 28 + src/geom/Ellipse.js line 28 @@ -1158,7 +1312,7 @@
Type:
Source:
- src/geom/Ellipse.js line 33 + src/geom/Ellipse.js line 33 @@ -1334,7 +1488,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 299 + src/geom/Ellipse.js line 324 @@ -1568,7 +1722,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 325 + src/geom/Ellipse.js line 350 @@ -1738,7 +1892,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 117 + src/geom/Ellipse.js line 117 @@ -1920,7 +2074,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 138 + src/geom/Ellipse.js line 138 @@ -2078,7 +2232,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 87 + src/geom/Ellipse.js line 87 @@ -2236,7 +2390,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 100 + src/geom/Ellipse.js line 100 @@ -2344,7 +2498,7 @@

Source:
- src/geom/Ellipse.js line 75 + src/geom/Ellipse.js line 75 @@ -2518,7 +2672,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 152 + src/geom/Ellipse.js line 152 @@ -2748,7 +2902,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 55 + src/geom/Ellipse.js line 55 @@ -2856,7 +3010,7 @@

Source:
- src/geom/Ellipse.js line 177 + src/geom/Ellipse.js line 174 @@ -2923,9 +3077,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2942,7 +3096,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2971,7 +3125,7 @@
Returns:
- + diff --git a/docs/Phaser.Events.html b/docs/Phaser.Events.html index 426694b18..3a1f6122c 100644 --- a/docs/Phaser.Events.html +++ b/docs/Phaser.Events.html @@ -6,7 +6,7 @@ Phaser CE Class: Events - + @@ -240,7 +240,7 @@
Parameters:
Source:
- src/gameobjects/components/Events.js line 30 + src/gameobjects/components/Events.js line 30 @@ -350,7 +350,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 85 + src/gameobjects/components/Events.js line 85 @@ -434,7 +434,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 273 + src/gameobjects/components/Events.js line 273 @@ -518,7 +518,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 286 + src/gameobjects/components/Events.js line 286 @@ -602,7 +602,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 260 + src/gameobjects/components/Events.js line 260 @@ -684,7 +684,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 107 + src/gameobjects/components/Events.js line 107 @@ -770,7 +770,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 218 + src/gameobjects/components/Events.js line 218 @@ -853,7 +853,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 247 + src/gameobjects/components/Events.js line 247 @@ -941,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 235 + src/gameobjects/components/Events.js line 235 @@ -1023,7 +1023,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 152 + src/gameobjects/components/Events.js line 152 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 189 + src/gameobjects/components/Events.js line 189 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 176 + src/gameobjects/components/Events.js line 176 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 164 + src/gameobjects/components/Events.js line 164 @@ -1358,7 +1358,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 203 + src/gameobjects/components/Events.js line 203 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 119 + src/gameobjects/components/Events.js line 119 @@ -1523,7 +1523,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 141 + src/gameobjects/components/Events.js line 141 @@ -1605,7 +1605,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 96 + src/gameobjects/components/Events.js line 96 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 130 + src/gameobjects/components/Events.js line 130 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 35 + src/gameobjects/components/Events.js line 35 @@ -1842,7 +1842,7 @@

Source:
- src/gameobjects/components/Events.js line 43 + src/gameobjects/components/Events.js line 43 @@ -1885,9 +1885,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1904,7 +1904,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1933,7 +1933,7 @@

- + diff --git a/docs/Phaser.Filter.html b/docs/Phaser.Filter.html index f4fa337d3..8ce1e7905 100644 --- a/docs/Phaser.Filter.html +++ b/docs/Phaser.Filter.html @@ -6,7 +6,7 @@ Phaser CE Class: Filter - + @@ -323,7 +323,7 @@

Parameters:
Source:
- src/core/Filter.js line 35 + src/core/Filter.js line 35 @@ -435,7 +435,7 @@
Type:
Source:
- src/core/Filter.js line 66 + src/core/Filter.js line 66 @@ -515,7 +515,7 @@
Type:
Source:
- src/core/Filter.js line 120 + src/core/Filter.js line 120 @@ -592,7 +592,7 @@
Type:
Source:
- src/core/Filter.js line 40 + src/core/Filter.js line 40 @@ -669,7 +669,7 @@
Type:
Source:
- src/core/Filter.js line 285 + src/core/Filter.js line 285 @@ -746,7 +746,7 @@
Type:
Source:
- src/core/Filter.js line 72 + src/core/Filter.js line 72 @@ -823,7 +823,7 @@
Type:
Source:
- src/core/Filter.js line 77 + src/core/Filter.js line 77 @@ -900,7 +900,7 @@
Type:
Source:
- src/core/Filter.js line 46 + src/core/Filter.js line 46 @@ -977,7 +977,7 @@
Type:
Source:
- src/core/Filter.js line 88 + src/core/Filter.js line 88 @@ -1054,7 +1054,7 @@
Type:
Source:
- src/core/Filter.js line 265 + src/core/Filter.js line 265 @@ -1402,7 +1402,7 @@
Parameters:
Source:
- src/core/Filter.js line 176 + src/core/Filter.js line 176 @@ -1510,7 +1510,7 @@

Source:
- src/core/Filter.js line 244 + src/core/Filter.js line 244 @@ -1594,7 +1594,7 @@

Source:
- src/core/Filter.js line 126 + src/core/Filter.js line 126 @@ -1752,7 +1752,7 @@
Parameters:
Source:
- src/core/Filter.js line 137 + src/core/Filter.js line 137 @@ -1836,7 +1836,7 @@

Source:
- src/core/Filter.js line 230 + src/core/Filter.js line 230 @@ -1982,7 +1982,7 @@
Parameters:
Source:
- src/core/Filter.js line 151 + src/core/Filter.js line 151 @@ -2025,9 +2025,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2044,7 +2044,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2073,7 +2073,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexGrid.html b/docs/Phaser.FlexGrid.html index 058647712..0c7ce1d1d 100644 --- a/docs/Phaser.FlexGrid.html +++ b/docs/Phaser.FlexGrid.html @@ -6,7 +6,7 @@ Phaser CE Class: FlexGrid - + @@ -282,7 +282,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 21 + src/core/FlexGrid.js line 21 @@ -387,7 +387,7 @@
Type:
Source:
- src/core/FlexGrid.js line 26 + src/core/FlexGrid.js line 26 @@ -464,7 +464,7 @@
Type:
Source:
- src/core/FlexGrid.js line 31 + src/core/FlexGrid.js line 31 @@ -579,7 +579,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 46 + src/core/FlexGrid.js line 46 @@ -694,7 +694,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 55 + src/core/FlexGrid.js line 55 @@ -898,7 +898,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 104 + src/core/FlexGrid.js line 104 @@ -1068,7 +1068,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 194 + src/core/FlexGrid.js line 194 @@ -1238,7 +1238,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 141 + src/core/FlexGrid.js line 141 @@ -1408,7 +1408,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 170 + src/core/FlexGrid.js line 170 @@ -1516,7 +1516,7 @@

Source:
- src/core/FlexGrid.js line 299 + src/core/FlexGrid.js line 299 @@ -1650,7 +1650,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 284 + src/core/FlexGrid.js line 284 @@ -1808,7 +1808,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 240 + src/core/FlexGrid.js line 240 @@ -1892,7 +1892,7 @@

Source:
- src/core/FlexGrid.js line 256 + src/core/FlexGrid.js line 256 @@ -1976,7 +1976,7 @@

Source:
- src/core/FlexGrid.js line 218 + src/core/FlexGrid.js line 218 @@ -2134,7 +2134,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 77 + src/core/FlexGrid.js line 77 @@ -2177,9 +2177,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2196,7 +2196,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2225,7 +2225,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexLayer.html b/docs/Phaser.FlexLayer.html index 6e1c822b1..e9e9226dc 100644 --- a/docs/Phaser.FlexLayer.html +++ b/docs/Phaser.FlexLayer.html @@ -6,7 +6,7 @@ Phaser CE Class: FlexLayer - + @@ -305,7 +305,7 @@
Parameters:
Source:
- src/core/FlexLayer.js line 22 + src/core/FlexLayer.js line 22 @@ -437,7 +437,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -523,7 +523,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -612,7 +612,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -700,7 +700,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -773,7 +773,7 @@
Type:
Source:
- src/core/FlexLayer.js line 76 + src/core/FlexLayer.js line 76 @@ -846,7 +846,7 @@
Type:
Source:
- src/core/FlexLayer.js line 81 + src/core/FlexLayer.js line 81 @@ -919,7 +919,7 @@
Type:
Source:
- src/core/FlexLayer.js line 86 + src/core/FlexLayer.js line 86 @@ -992,7 +992,7 @@
Type:
Source:
- src/core/FlexLayer.js line 51 + src/core/FlexLayer.js line 51 @@ -1085,7 +1085,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1260,7 +1260,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1434,7 +1434,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1615,7 +1615,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1701,7 +1701,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1876,7 +1876,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -1969,7 +1969,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2055,7 +2055,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2146,7 +2146,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2234,7 +2234,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2320,7 +2320,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2397,7 +2397,7 @@
Type:
Source:
- src/core/FlexLayer.js line 34 + src/core/FlexLayer.js line 34 @@ -2487,7 +2487,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2573,7 +2573,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -2669,7 +2669,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2843,7 +2843,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2931,7 +2931,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -3019,7 +3019,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -3105,7 +3105,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -3220,7 +3220,7 @@
Properties:
Source:
- src/core/FlexLayer.js line 29 + src/core/FlexLayer.js line 29 @@ -3309,7 +3309,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -3395,7 +3395,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3485,7 +3485,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3575,7 +3575,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3665,7 +3665,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3756,7 +3756,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3842,7 +3842,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3931,7 +3931,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4021,7 +4021,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -4098,7 +4098,7 @@
Type:
Source:
- src/core/FlexLayer.js line 41 + src/core/FlexLayer.js line 41 @@ -4185,7 +4185,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -4278,7 +4278,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -4364,7 +4364,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -4451,7 +4451,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4529,7 +4529,7 @@
Type:
Source:
- src/core/FlexLayer.js line 46 + src/core/FlexLayer.js line 46 @@ -4616,7 +4616,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4704,7 +4704,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4792,7 +4792,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4870,7 +4870,7 @@
Type:
Source:
- src/core/FlexLayer.js line 56 + src/core/FlexLayer.js line 56 @@ -4958,7 +4958,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -5031,7 +5031,7 @@
Type:
Source:
- src/core/FlexLayer.js line 61 + src/core/FlexLayer.js line 61 @@ -5104,7 +5104,7 @@
Type:
Source:
- src/core/FlexLayer.js line 66 + src/core/FlexLayer.js line 66 @@ -5177,7 +5177,7 @@
Type:
Source:
- src/core/FlexLayer.js line 71 + src/core/FlexLayer.js line 71 @@ -5263,7 +5263,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -5349,7 +5349,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -5435,7 +5435,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -5521,7 +5521,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -5607,7 +5607,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -5699,7 +5699,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5790,7 +5790,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5881,7 +5881,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5972,7 +5972,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6149,7 +6149,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6237,7 +6237,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -6325,7 +6325,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -6412,7 +6412,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6650,7 +6650,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6928,7 +6928,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -7170,7 +7170,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -7337,7 +7337,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7528,7 +7528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7759,7 +7759,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7930,7 +7930,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -8325,7 +8325,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -8668,7 +8668,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -9012,7 +9012,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -9203,7 +9203,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -9346,7 +9346,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -9609,7 +9609,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9829,7 +9829,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -10020,7 +10020,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -10336,7 +10336,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -10638,7 +10638,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10935,7 +10935,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -11102,7 +11102,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -11289,7 +11289,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -11406,7 +11406,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -11523,7 +11523,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11917,7 +11917,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -12324,7 +12324,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -12537,7 +12537,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -12621,7 +12621,7 @@

Source:
- src/core/FlexLayer.js line 101 + src/core/FlexLayer.js line 101 @@ -12788,7 +12788,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12992,7 +12992,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -13208,7 +13208,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -13412,7 +13412,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -13716,7 +13716,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13954,7 +13954,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -14192,7 +14192,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -14430,7 +14430,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -14675,7 +14675,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -14983,7 +14983,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -15152,7 +15152,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -15273,7 +15273,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -15455,7 +15455,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -15624,7 +15624,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -15791,7 +15791,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15958,7 +15958,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -16209,7 +16209,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -16400,7 +16400,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -16759,7 +16759,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -17118,7 +17118,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -17516,7 +17516,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -17767,7 +17767,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17934,7 +17934,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -18051,7 +18051,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -18278,7 +18278,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -18506,7 +18506,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -18624,7 +18624,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -18816,7 +18816,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -19203,7 +19203,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -19320,7 +19320,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -19413,7 +19413,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -19612,7 +19612,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -19779,7 +19779,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -19946,7 +19946,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -20186,7 +20186,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -20280,7 +20280,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -20397,7 +20397,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -20490,7 +20490,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -20584,7 +20584,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -20849,7 +20849,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -21119,7 +21119,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -21396,7 +21396,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -21539,7 +21539,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -21706,7 +21706,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -21897,7 +21897,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -22041,7 +22041,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -22234,7 +22234,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -22588,7 +22588,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -22894,7 +22894,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -23082,7 +23082,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -23190,7 +23190,7 @@

Source:
- src/core/FlexLayer.js line 93 + src/core/FlexLayer.js line 93 @@ -23284,7 +23284,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -23377,7 +23377,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -23470,7 +23470,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -23673,7 +23673,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -23816,7 +23816,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -24232,7 +24232,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -24614,7 +24614,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -24972,7 +24972,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -25139,7 +25139,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -25458,7 +25458,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -25576,7 +25576,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -25783,7 +25783,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -25999,7 +25999,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -26167,7 +26167,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -26334,7 +26334,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -26477,7 +26477,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -26690,7 +26690,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -26810,7 +26810,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -26903,7 +26903,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -27092,7 +27092,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -27212,7 +27212,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -27403,7 +27403,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -27446,9 +27446,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -27465,7 +27465,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -27494,7 +27494,7 @@
Parameters:
- + diff --git a/docs/Phaser.Frame.html b/docs/Phaser.Frame.html index 7d94b550d..6644e6fe8 100644 --- a/docs/Phaser.Frame.html +++ b/docs/Phaser.Frame.html @@ -6,7 +6,7 @@ Phaser CE Class: Frame - + @@ -350,7 +350,7 @@
Parameters:
Source:
- src/animation/Frame.js line 19 + src/animation/Frame.js line 19 @@ -455,7 +455,7 @@
Type:
Source:
- src/animation/Frame.js line 125 + src/animation/Frame.js line 125 @@ -532,7 +532,7 @@
Type:
Source:
- src/animation/Frame.js line 59 + src/animation/Frame.js line 59 @@ -609,7 +609,7 @@
Type:
Source:
- src/animation/Frame.js line 64 + src/animation/Frame.js line 64 @@ -686,7 +686,7 @@
Type:
Source:
- src/animation/Frame.js line 69 + src/animation/Frame.js line 69 @@ -763,7 +763,7 @@
Type:
Source:
- src/animation/Frame.js line 44 + src/animation/Frame.js line 44 @@ -840,7 +840,7 @@
Type:
Source:
- src/animation/Frame.js line 24 + src/animation/Frame.js line 24 @@ -917,7 +917,7 @@
Type:
Source:
- src/animation/Frame.js line 54 + src/animation/Frame.js line 54 @@ -994,7 +994,7 @@
Type:
Source:
- src/animation/Frame.js line 120 + src/animation/Frame.js line 120 @@ -1071,7 +1071,7 @@
Type:
Source:
- src/animation/Frame.js line 75 + src/animation/Frame.js line 75 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/animation/Frame.js line 91 + src/animation/Frame.js line 91 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/animation/Frame.js line 86 + src/animation/Frame.js line 86 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/animation/Frame.js line 115 + src/animation/Frame.js line 115 @@ -1379,7 +1379,7 @@
Type:
Source:
- src/animation/Frame.js line 109 + src/animation/Frame.js line 109 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/animation/Frame.js line 97 + src/animation/Frame.js line 97 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/animation/Frame.js line 103 + src/animation/Frame.js line 103 @@ -1610,7 +1610,7 @@
Type:
Source:
- src/animation/Frame.js line 81 + src/animation/Frame.js line 81 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/animation/Frame.js line 39 + src/animation/Frame.js line 39 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/animation/Frame.js line 29 + src/animation/Frame.js line 29 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/animation/Frame.js line 34 + src/animation/Frame.js line 34 @@ -1920,7 +1920,7 @@

Source:
- src/animation/Frame.js line 182 + src/animation/Frame.js line 182 @@ -2090,7 +2090,7 @@
Parameters:
Source:
- src/animation/Frame.js line 205 + src/animation/Frame.js line 205 @@ -2272,7 +2272,7 @@
Parameters:
Source:
- src/animation/Frame.js line 131 + src/animation/Frame.js line 131 @@ -2550,7 +2550,7 @@
Parameters:
Source:
- src/animation/Frame.js line 152 + src/animation/Frame.js line 152 @@ -2593,9 +2593,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2612,7 +2612,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2641,7 +2641,7 @@
Parameters:
- + diff --git a/docs/Phaser.FrameData.html b/docs/Phaser.FrameData.html index 9266837e8..9acc94793 100644 --- a/docs/Phaser.FrameData.html +++ b/docs/Phaser.FrameData.html @@ -6,7 +6,7 @@ Phaser CE Class: FrameData - + @@ -180,7 +180,7 @@

Source:
- src/animation/FrameData.js line 13 + src/animation/FrameData.js line 13 @@ -285,7 +285,7 @@
Type:
Source:
- src/animation/FrameData.js line 267 + src/animation/FrameData.js line 267 @@ -413,7 +413,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 31 + src/animation/FrameData.js line 31 @@ -571,7 +571,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 89 + src/animation/FrameData.js line 89 @@ -679,7 +679,7 @@

Source:
- src/animation/FrameData.js line 107 + src/animation/FrameData.js line 107 @@ -787,7 +787,7 @@

Source:
- src/animation/FrameData.js line 251 + src/animation/FrameData.js line 251 @@ -921,7 +921,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 53 + src/animation/FrameData.js line 53 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 71 + src/animation/FrameData.js line 71 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 204 + src/animation/FrameData.js line 204 @@ -1568,7 +1568,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 135 + src/animation/FrameData.js line 135 @@ -1823,7 +1823,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 157 + src/animation/FrameData.js line 157 @@ -1890,9 +1890,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1909,7 +1909,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1938,7 +1938,7 @@
Returns:
- + diff --git a/docs/Phaser.Game.html b/docs/Phaser.Game.html index 413268484..6bd02a595 100644 --- a/docs/Phaser.Game.html +++ b/docs/Phaser.Game.html @@ -6,7 +6,7 @@ Phaser CE Class: Game - + @@ -577,7 +577,7 @@
Parameters:
Source:
- src/core/Game.js line 73 + src/core/Game.js line 73 @@ -682,7 +682,7 @@
Type:
Source:
- src/core/Game.js line 222 + src/core/Game.js line 222 @@ -766,7 +766,7 @@
Type:
Source:
- src/core/Game.js line 152 + src/core/Game.js line 152 @@ -843,7 +843,7 @@
Type:
Source:
- src/core/Game.js line 232 + src/core/Game.js line 232 @@ -920,7 +920,7 @@
Type:
Source:
- src/core/Game.js line 307 + src/core/Game.js line 307 @@ -997,7 +997,7 @@
Type:
Source:
- src/core/Game.js line 312 + src/core/Game.js line 312 @@ -1085,7 +1085,7 @@
Type:
Source:
- src/core/Game.js line 182 + src/core/Game.js line 182 @@ -1162,7 +1162,7 @@
Type:
Source:
- src/core/Game.js line 84 + src/core/Game.js line 84 @@ -1239,7 +1239,7 @@
Type:
Source:
- src/core/Game.js line 317 + src/core/Game.js line 317 @@ -1316,7 +1316,7 @@
Type:
Source:
- src/core/Game.js line 332 + src/core/Game.js line 332 @@ -1394,7 +1394,7 @@
Type:
Source:
- src/core/Game.js line 408 + src/core/Game.js line 408 @@ -1471,7 +1471,7 @@
Type:
Source:
- src/core/Game.js line 322 + src/core/Game.js line 322 @@ -1548,7 +1548,7 @@
Type:
Source:
- src/core/Game.js line 302 + src/core/Game.js line 302 @@ -1625,7 +1625,7 @@
Type:
Source:
- src/core/Game.js line 469 + src/core/Game.js line 469 @@ -1702,7 +1702,7 @@
Type:
Source:
- src/core/Game.js line 464 + src/core/Game.js line 464 @@ -1779,7 +1779,7 @@
Type:
Source:
- src/core/Game.js line 459 + src/core/Game.js line 459 @@ -1857,7 +1857,7 @@
Type:
Source:
- src/core/Game.js line 454 + src/core/Game.js line 454 @@ -1942,7 +1942,7 @@
Type:
Source:
- src/core/Game.js line 118 + src/core/Game.js line 118 @@ -2019,7 +2019,7 @@
Type:
Source:
- src/core/Game.js line 79 + src/core/Game.js line 79 @@ -2096,7 +2096,7 @@
Type:
Source:
- src/core/Game.js line 237 + src/core/Game.js line 237 @@ -2173,7 +2173,7 @@
Type:
Source:
- src/core/Game.js line 205 + src/core/Game.js line 205 @@ -2250,7 +2250,7 @@
Type:
Source:
- src/core/Game.js line 211 + src/core/Game.js line 211 @@ -2327,7 +2327,7 @@
Type:
Source:
- src/core/Game.js line 242 + src/core/Game.js line 242 @@ -2406,7 +2406,7 @@
Type:
Source:
- src/core/Game.js line 341 + src/core/Game.js line 341 @@ -2483,7 +2483,7 @@
Type:
Source:
- src/core/Game.js line 227 + src/core/Game.js line 227 @@ -2560,7 +2560,7 @@
Type:
Source:
- src/core/Game.js line 247 + src/core/Game.js line 247 @@ -2641,7 +2641,7 @@
Type:
Source:
- src/core/Game.js line 165 + src/core/Game.js line 165 @@ -2718,7 +2718,7 @@
Type:
Source:
- src/core/Game.js line 252 + src/core/Game.js line 252 @@ -2795,7 +2795,7 @@
Type:
Source:
- src/core/Game.js line 383 + src/core/Game.js line 383 @@ -2872,7 +2872,7 @@
Type:
Source:
- src/core/Game.js line 388 + src/core/Game.js line 388 @@ -2949,7 +2949,7 @@
Type:
Source:
- src/core/Game.js line 373 + src/core/Game.js line 373 @@ -3026,7 +3026,7 @@
Type:
Source:
- src/core/Game.js line 378 + src/core/Game.js line 378 @@ -3106,7 +3106,7 @@
Type:
Source:
- src/core/Game.js line 96 + src/core/Game.js line 96 @@ -3183,7 +3183,7 @@
Type:
Source:
- src/core/Game.js line 327 + src/core/Game.js line 327 @@ -3261,7 +3261,7 @@
Type:
Source:
- src/core/Game.js line 1368 + src/core/Game.js line 1368 @@ -3338,7 +3338,7 @@
Type:
Source:
- src/core/Game.js line 347 + src/core/Game.js line 347 @@ -3415,7 +3415,7 @@
Type:
Source:
- src/core/Game.js line 361 + src/core/Game.js line 361 @@ -3492,7 +3492,7 @@
Type:
Source:
- src/core/Game.js line 287 + src/core/Game.js line 287 @@ -3569,7 +3569,7 @@
Type:
Source:
- src/core/Game.js line 89 + src/core/Game.js line 89 @@ -3646,7 +3646,7 @@
Type:
Source:
- src/core/Game.js line 292 + src/core/Game.js line 292 @@ -3723,7 +3723,7 @@
Type:
Source:
- src/core/Game.js line 171 + src/core/Game.js line 171 @@ -3800,7 +3800,7 @@
Type:
Source:
- src/core/Game.js line 217 + src/core/Game.js line 217 @@ -3880,7 +3880,7 @@
Type:
Source:
- src/core/Game.js line 188 + src/core/Game.js line 188 @@ -3999,7 +3999,7 @@
Properties:
Source:
- src/core/Game.js line 422 + src/core/Game.js line 422 @@ -4076,7 +4076,7 @@
Type:
Source:
- src/core/Game.js line 194 + src/core/Game.js line 194 @@ -4160,7 +4160,7 @@
Type:
Source:
- src/core/Game.js line 127 + src/core/Game.js line 127 @@ -4237,7 +4237,7 @@
Type:
Source:
- src/core/Game.js line 297 + src/core/Game.js line 297 @@ -4314,7 +4314,7 @@
Type:
Source:
- src/core/Game.js line 257 + src/core/Game.js line 257 @@ -4391,7 +4391,7 @@
Type:
Source:
- src/core/Game.js line 262 + src/core/Game.js line 262 @@ -4468,7 +4468,7 @@
Type:
Source:
- src/core/Game.js line 267 + src/core/Game.js line 267 @@ -4545,7 +4545,7 @@
Type:
Source:
- src/core/Game.js line 199 + src/core/Game.js line 199 @@ -4622,7 +4622,7 @@
Type:
Source:
- src/core/Game.js line 368 + src/core/Game.js line 368 @@ -4699,7 +4699,7 @@
Type:
Source:
- src/core/Game.js line 354 + src/core/Game.js line 354 @@ -4776,7 +4776,7 @@
Type:
Source:
- src/core/Game.js line 272 + src/core/Game.js line 272 @@ -4853,7 +4853,7 @@
Type:
Source:
- src/core/Game.js line 145 + src/core/Game.js line 145 @@ -4930,7 +4930,7 @@
Type:
Source:
- src/core/Game.js line 277 + src/core/Game.js line 277 @@ -5007,7 +5007,7 @@
Type:
Source:
- src/core/Game.js line 415 + src/core/Game.js line 415 @@ -5092,7 +5092,7 @@
Type:
Source:
- src/core/Game.js line 107 + src/core/Game.js line 107 @@ -5169,7 +5169,7 @@
Type:
Source:
- src/core/Game.js line 282 + src/core/Game.js line 282 @@ -5247,7 +5247,7 @@

Source:
- src/core/Game.js line 659 + src/core/Game.js line 659 @@ -5335,7 +5335,7 @@

Source:
- src/core/Game.js line 1207 + src/core/Game.js line 1207 @@ -5419,7 +5419,7 @@

Source:
- src/core/Game.js line 1182 + src/core/Game.js line 1182 @@ -5504,7 +5504,7 @@

Source:
- src/core/Game.js line 1168 + src/core/Game.js line 1168 @@ -5638,7 +5638,7 @@
Parameters:
Source:
- src/core/Game.js line 1346 + src/core/Game.js line 1346 @@ -5772,7 +5772,7 @@
Parameters:
Source:
- src/core/Game.js line 1328 + src/core/Game.js line 1328 @@ -5906,7 +5906,7 @@
Parameters:
Source:
- src/core/Game.js line 1262 + src/core/Game.js line 1262 @@ -6040,7 +6040,7 @@
Parameters:
Source:
- src/core/Game.js line 1294 + src/core/Game.js line 1294 @@ -6124,7 +6124,7 @@

Source:
- src/core/Game.js line 569 + src/core/Game.js line 569 @@ -6208,7 +6208,7 @@

Source:
- src/core/Game.js line 829 + src/core/Game.js line 829 @@ -6292,7 +6292,7 @@

Source:
- src/core/Game.js line 762 + src/core/Game.js line 762 @@ -6377,7 +6377,7 @@

Source:
- src/core/Game.js line 1194 + src/core/Game.js line 1194 @@ -6511,7 +6511,7 @@
Parameters:
Source:
- src/core/Game.js line 955 + src/core/Game.js line 955 @@ -6645,7 +6645,7 @@
Parameters:
Source:
- src/core/Game.js line 1079 + src/core/Game.js line 1079 @@ -6787,7 +6787,7 @@
Parameters:
Source:
- src/core/Game.js line 1129 + src/core/Game.js line 1129 @@ -6830,9 +6830,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -6849,7 +6849,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -6878,7 +6878,7 @@
Parameters:
- + diff --git a/docs/Phaser.GameObjectCreator.html b/docs/Phaser.GameObjectCreator.html index b2d8d2d17..4115c3cf7 100644 --- a/docs/Phaser.GameObjectCreator.html +++ b/docs/Phaser.GameObjectCreator.html @@ -6,7 +6,7 @@ Phaser CE Class: GameObjectCreator - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 15 + src/gameobjects/GameObjectCreator.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/gameobjects/GameObjectCreator.js line 21 + src/gameobjects/GameObjectCreator.js line 21 @@ -413,7 +413,7 @@
Type:
Source:
- src/gameobjects/GameObjectCreator.js line 27 + src/gameobjects/GameObjectCreator.js line 27 @@ -677,7 +677,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 118 + src/gameobjects/GameObjectCreator.js line 118 @@ -835,7 +835,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 134 + src/gameobjects/GameObjectCreator.js line 134 @@ -1134,7 +1134,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 379 + src/gameobjects/GameObjectCreator.js line 379 @@ -1511,7 +1511,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 297 + src/gameobjects/GameObjectCreator.js line 297 @@ -1965,7 +1965,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 215 + src/gameobjects/GameObjectCreator.js line 215 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 250 + src/gameobjects/GameObjectCreator.js line 250 @@ -2408,7 +2408,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 407 + src/gameobjects/GameObjectCreator.js line 407 @@ -2626,7 +2626,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 236 + src/gameobjects/GameObjectCreator.js line 236 @@ -2960,7 +2960,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 83 + src/gameobjects/GameObjectCreator.js line 83 @@ -3237,7 +3237,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 33 + src/gameobjects/GameObjectCreator.js line 33 @@ -3535,7 +3535,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 353 + src/gameobjects/GameObjectCreator.js line 353 @@ -4019,7 +4019,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 269 + src/gameobjects/GameObjectCreator.js line 269 @@ -4309,7 +4309,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 181 + src/gameobjects/GameObjectCreator.js line 181 @@ -4603,7 +4603,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 147 + src/gameobjects/GameObjectCreator.js line 147 @@ -4878,7 +4878,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 52 + src/gameobjects/GameObjectCreator.js line 52 @@ -5132,7 +5132,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 100 + src/gameobjects/GameObjectCreator.js line 100 @@ -5362,7 +5362,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 199 + src/gameobjects/GameObjectCreator.js line 199 @@ -5703,7 +5703,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 331 + src/gameobjects/GameObjectCreator.js line 331 @@ -5966,7 +5966,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 163 + src/gameobjects/GameObjectCreator.js line 163 @@ -6125,7 +6125,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 68 + src/gameobjects/GameObjectCreator.js line 68 @@ -6192,9 +6192,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -6211,7 +6211,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -6240,7 +6240,7 @@
Returns:
- + diff --git a/docs/Phaser.GameObjectFactory.html b/docs/Phaser.GameObjectFactory.html index 167abe788..e9e8370b0 100644 --- a/docs/Phaser.GameObjectFactory.html +++ b/docs/Phaser.GameObjectFactory.html @@ -6,7 +6,7 @@ Phaser CE Class: GameObjectFactory - + @@ -232,7 +232,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 17 + src/gameobjects/GameObjectFactory.js line 17 @@ -337,7 +337,7 @@
Type:
Source:
- src/gameobjects/GameObjectFactory.js line 23 + src/gameobjects/GameObjectFactory.js line 23 @@ -414,7 +414,7 @@
Type:
Source:
- src/gameobjects/GameObjectFactory.js line 29 + src/gameobjects/GameObjectFactory.js line 29 @@ -678,7 +678,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 236 + src/gameobjects/GameObjectFactory.js line 236 @@ -836,7 +836,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 268 + src/gameobjects/GameObjectFactory.js line 268 @@ -1135,7 +1135,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 532 + src/gameobjects/GameObjectFactory.js line 532 @@ -1513,7 +1513,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 431 + src/gameobjects/GameObjectFactory.js line 431 @@ -2050,7 +2050,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 343 + src/gameobjects/GameObjectFactory.js line 343 @@ -2356,7 +2356,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 131 + src/gameobjects/GameObjectFactory.js line 131 @@ -2617,7 +2617,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 384 + src/gameobjects/GameObjectFactory.js line 384 @@ -2775,7 +2775,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 35 + src/gameobjects/GameObjectFactory.js line 35 @@ -2957,7 +2957,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 560 + src/gameobjects/GameObjectFactory.js line 560 @@ -3216,7 +3216,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 367 + src/gameobjects/GameObjectFactory.js line 367 @@ -3552,7 +3552,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 179 + src/gameobjects/GameObjectFactory.js line 179 @@ -3905,7 +3905,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 84 + src/gameobjects/GameObjectFactory.js line 84 @@ -4203,7 +4203,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 196 + src/gameobjects/GameObjectFactory.js line 196 @@ -4409,7 +4409,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 580 + src/gameobjects/GameObjectFactory.js line 580 @@ -4707,7 +4707,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 490 + src/gameobjects/GameObjectFactory.js line 490 @@ -5191,7 +5191,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 403 + src/gameobjects/GameObjectFactory.js line 403 @@ -5578,7 +5578,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 302 + src/gameobjects/GameObjectFactory.js line 302 @@ -5872,7 +5872,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 252 + src/gameobjects/GameObjectFactory.js line 252 @@ -6225,7 +6225,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 108 + src/gameobjects/GameObjectFactory.js line 108 @@ -6484,7 +6484,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 215 + src/gameobjects/GameObjectFactory.js line 215 @@ -6821,7 +6821,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 324 + src/gameobjects/GameObjectFactory.js line 324 @@ -7162,7 +7162,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 467 + src/gameobjects/GameObjectFactory.js line 467 @@ -7538,7 +7538,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 281 + src/gameobjects/GameObjectFactory.js line 281 @@ -7697,7 +7697,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 164 + src/gameobjects/GameObjectFactory.js line 164 @@ -7922,7 +7922,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 516 + src/gameobjects/GameObjectFactory.js line 516 @@ -8274,7 +8274,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 48 + src/gameobjects/GameObjectFactory.js line 48 @@ -8341,9 +8341,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -8360,7 +8360,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -8389,7 +8389,7 @@
Returns:
- + diff --git a/docs/Phaser.Gamepad.html b/docs/Phaser.Gamepad.html index d7a247666..ca4da7e61 100644 --- a/docs/Phaser.Gamepad.html +++ b/docs/Phaser.Gamepad.html @@ -6,7 +6,7 @@ Phaser CE Class: Gamepad - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 21 + src/input/Gamepad.js line 21 @@ -340,7 +340,7 @@
Type:
Source:
- src/input/Gamepad.js line 496 + src/input/Gamepad.js line 496 @@ -417,7 +417,7 @@
Type:
Source:
- src/input/Gamepad.js line 80 + src/input/Gamepad.js line 80 @@ -501,7 +501,7 @@
Type:
Source:
- src/input/Gamepad.js line 52 + src/input/Gamepad.js line 52 @@ -578,7 +578,7 @@
Type:
Source:
- src/input/Gamepad.js line 26 + src/input/Gamepad.js line 26 @@ -655,7 +655,7 @@
Type:
Source:
- src/input/Gamepad.js line 105 + src/input/Gamepad.js line 105 @@ -732,7 +732,7 @@
Type:
Source:
- src/input/Gamepad.js line 85 + src/input/Gamepad.js line 85 @@ -809,7 +809,7 @@
Type:
Source:
- src/input/Gamepad.js line 90 + src/input/Gamepad.js line 90 @@ -886,7 +886,7 @@
Type:
Source:
- src/input/Gamepad.js line 95 + src/input/Gamepad.js line 95 @@ -963,7 +963,7 @@
Type:
Source:
- src/input/Gamepad.js line 110 + src/input/Gamepad.js line 110 @@ -1040,7 +1040,7 @@
Type:
Source:
- src/input/Gamepad.js line 100 + src/input/Gamepad.js line 100 @@ -1117,7 +1117,7 @@
Type:
Source:
- src/input/Gamepad.js line 538 + src/input/Gamepad.js line 538 @@ -1194,7 +1194,7 @@
Type:
Source:
- src/input/Gamepad.js line 552 + src/input/Gamepad.js line 552 @@ -1271,7 +1271,7 @@
Type:
Source:
- src/input/Gamepad.js line 566 + src/input/Gamepad.js line 566 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/input/Gamepad.js line 580 + src/input/Gamepad.js line 580 @@ -1425,7 +1425,7 @@
Type:
Source:
- src/input/Gamepad.js line 524 + src/input/Gamepad.js line 524 @@ -1502,7 +1502,7 @@
Type:
Source:
- src/input/Gamepad.js line 510 + src/input/Gamepad.js line 510 @@ -1655,7 +1655,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 139 + src/input/Gamepad.js line 139 @@ -1739,7 +1739,7 @@

Source:
- src/input/Gamepad.js line 476 + src/input/Gamepad.js line 476 @@ -1873,7 +1873,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 457 + src/input/Gamepad.js line 457 @@ -2087,7 +2087,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 415 + src/input/Gamepad.js line 415 @@ -2301,7 +2301,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 436 + src/input/Gamepad.js line 436 @@ -2409,7 +2409,7 @@

Source:
- src/input/Gamepad.js line 400 + src/input/Gamepad.js line 400 @@ -2493,7 +2493,7 @@

Source:
- src/input/Gamepad.js line 373 + src/input/Gamepad.js line 373 @@ -2578,7 +2578,7 @@

Source:
- src/input/Gamepad.js line 162 + src/input/Gamepad.js line 162 @@ -2662,7 +2662,7 @@

Source:
- src/input/Gamepad.js line 386 + src/input/Gamepad.js line 386 @@ -2746,7 +2746,7 @@

Source:
- src/input/Gamepad.js line 231 + src/input/Gamepad.js line 231 @@ -2789,9 +2789,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2808,7 +2808,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2837,7 +2837,7 @@

- + diff --git a/docs/Phaser.Graphics.html b/docs/Phaser.Graphics.html index e0a38d965..a4e8e4876 100644 --- a/docs/Phaser.Graphics.html +++ b/docs/Phaser.Graphics.html @@ -6,7 +6,7 @@ Phaser CE Class: Graphics - + @@ -343,7 +343,7 @@

Parameters:
Source:
- src/gameobjects/Graphics.js line 54 + src/gameobjects/Graphics.js line 54 @@ -501,7 +501,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -597,7 +597,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -688,7 +688,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -775,7 +775,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -872,7 +872,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -956,7 +956,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 131 + src/gameobjects/Graphics.js line 131 @@ -1059,7 +1059,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1146,7 +1146,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1223,7 +1223,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 165 + src/gameobjects/Graphics.js line 165 @@ -1316,7 +1316,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1403,7 +1403,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1490,7 +1490,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1577,7 +1577,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1669,7 +1669,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1755,7 +1755,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1937,7 +1937,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2023,7 +2023,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2110,7 +2110,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2197,7 +2197,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2295,7 +2295,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2372,7 +2372,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 87 + src/gameobjects/Graphics.js line 87 @@ -2458,7 +2458,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2549,7 +2549,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2642,7 +2642,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2729,7 +2729,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2815,7 +2815,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -2901,7 +2901,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -2997,7 +2997,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3085,7 +3085,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3172,7 +3172,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3263,7 +3263,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3356,7 +3356,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3442,7 +3442,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -3519,7 +3519,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 157 + src/gameobjects/Graphics.js line 157 @@ -3621,7 +3621,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3708,7 +3708,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3798,7 +3798,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -3882,7 +3882,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 104 + src/gameobjects/Graphics.js line 104 @@ -3959,7 +3959,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 95 + src/gameobjects/Graphics.js line 95 @@ -4048,7 +4048,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -4135,7 +4135,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4223,7 +4223,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4311,7 +4311,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4397,7 +4397,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4484,7 +4484,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -4573,7 +4573,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4662,7 +4662,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4739,7 +4739,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 69 + src/gameobjects/Graphics.js line 69 @@ -4826,7 +4826,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4914,7 +4914,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5000,7 +5000,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5086,7 +5086,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5178,7 +5178,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5265,7 +5265,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5352,7 +5352,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5441,7 +5441,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5530,7 +5530,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5614,7 +5614,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 122 + src/gameobjects/Graphics.js line 122 @@ -5701,7 +5701,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5778,7 +5778,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 63 + src/gameobjects/Graphics.js line 63 @@ -5877,7 +5877,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -5963,7 +5963,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -6051,7 +6051,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6148,7 +6148,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6239,7 +6239,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6330,7 +6330,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6421,7 +6421,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -6517,7 +6517,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6603,7 +6603,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6695,7 +6695,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -6787,7 +6787,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -6876,7 +6876,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7013,7 +7013,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7204,7 +7204,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7547,7 +7547,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -7891,7 +7891,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8193,7 +8193,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 654 + src/gameobjects/Graphics.js line 654 @@ -8444,7 +8444,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 583 + src/gameobjects/Graphics.js line 583 @@ -8623,7 +8623,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 741 + src/gameobjects/Graphics.js line 741 @@ -8897,7 +8897,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 523 + src/gameobjects/Graphics.js line 523 @@ -9001,7 +9001,7 @@

Source:
- src/gameobjects/Graphics.js line 890 + src/gameobjects/Graphics.js line 890 @@ -9164,7 +9164,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9318,7 +9318,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1258 + src/gameobjects/Graphics.js line 1258 @@ -9501,7 +9501,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 270 + src/gameobjects/Graphics.js line 270 @@ -9585,7 +9585,7 @@

Source:
- src/gameobjects/Graphics.js line 1468 + src/gameobjects/Graphics.js line 1468 @@ -9767,7 +9767,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 819 + src/gameobjects/Graphics.js line 819 @@ -9817,7 +9817,7 @@
Returns:

- drawEllipse(x, y, width, height) + drawEllipse(centerX, centerY, halfWidth, halfHeight)

@@ -9861,7 +9861,7 @@
Parameters:
- x + centerX @@ -9885,7 +9885,7 @@
Parameters:
- y + centerY @@ -9909,7 +9909,7 @@
Parameters:
- width + halfWidth @@ -9933,7 +9933,7 @@
Parameters:
- height + halfHeight @@ -9993,7 +9993,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 836 + src/gameobjects/Graphics.js line 836 @@ -10150,7 +10150,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 854 + src/gameobjects/Graphics.js line 854 @@ -10372,7 +10372,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 786 + src/gameobjects/Graphics.js line 786 @@ -10618,7 +10618,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 803 + src/gameobjects/Graphics.js line 803 @@ -10764,7 +10764,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1480 + src/gameobjects/Graphics.js line 1480 @@ -10978,7 +10978,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 284 + src/gameobjects/Graphics.js line 284 @@ -11211,7 +11211,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 316 + src/gameobjects/Graphics.js line 316 @@ -11295,7 +11295,7 @@

Source:
- src/gameobjects/Graphics.js line 770 + src/gameobjects/Graphics.js line 770 @@ -11556,7 +11556,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 912 + src/gameobjects/Graphics.js line 912 @@ -11669,7 +11669,7 @@

Source:
- src/gameobjects/Graphics.js line 1132 + src/gameobjects/Graphics.js line 1132 @@ -11836,7 +11836,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -12003,7 +12003,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -12116,7 +12116,7 @@

Source:
- src/gameobjects/Graphics.js line 1222 + src/gameobjects/Graphics.js line 1222 @@ -12237,7 +12237,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -12443,7 +12443,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 392 + src/gameobjects/Graphics.js line 392 @@ -12622,7 +12622,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 443 + src/gameobjects/Graphics.js line 443 @@ -12800,7 +12800,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 427 + src/gameobjects/Graphics.js line 427 @@ -12909,7 +12909,7 @@

Source:
- src/gameobjects/Graphics.js line 247 + src/gameobjects/Graphics.js line 247 @@ -12998,7 +12998,7 @@

Source:
- src/gameobjects/Graphics.js line 231 + src/gameobjects/Graphics.js line 231 @@ -13091,7 +13091,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -13298,7 +13298,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 467 + src/gameobjects/Graphics.js line 467 @@ -13461,7 +13461,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -13628,7 +13628,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -13819,7 +13819,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -14058,7 +14058,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -14247,7 +14247,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -14438,7 +14438,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14605,7 +14605,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14748,7 +14748,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -14961,7 +14961,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -15082,7 +15082,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -15285,7 +15285,7 @@

Source:
- src/gameobjects/Graphics.js line 1289 + src/gameobjects/Graphics.js line 1289 @@ -15448,7 +15448,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -15517,9 +15517,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -15536,7 +15536,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -15565,7 +15565,7 @@
Returns:
- + diff --git a/docs/Phaser.Group.html b/docs/Phaser.Group.html index 218b07a2a..a1e30d639 100644 --- a/docs/Phaser.Group.html +++ b/docs/Phaser.Group.html @@ -6,7 +6,7 @@ Phaser CE Class: Group - + @@ -454,7 +454,7 @@
Parameters:
Source:
- src/core/Group.js line 27 + src/core/Group.js line 27 @@ -570,7 +570,7 @@
Type:
Source:
- src/core/Group.js line 332 + src/core/Group.js line 332 @@ -647,7 +647,7 @@
Type:
Source:
- src/core/Group.js line 325 + src/core/Group.js line 325 @@ -724,7 +724,7 @@
Type:
Source:
- src/core/Group.js line 311 + src/core/Group.js line 311 @@ -801,7 +801,7 @@
Type:
Source:
- src/core/Group.js line 318 + src/core/Group.js line 318 @@ -878,7 +878,7 @@
Type:
Source:
- src/core/Group.js line 339 + src/core/Group.js line 339 @@ -955,7 +955,7 @@
Type:
Source:
- src/core/Group.js line 346 + src/core/Group.js line 346 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -1201,7 +1201,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -1373,7 +1373,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1451,7 +1451,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1530,7 +1530,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1609,7 +1609,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1780,7 +1780,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1858,7 +1858,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1935,7 +1935,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -2014,7 +2014,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -2092,7 +2092,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -2176,7 +2176,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2262,7 +2262,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2358,7 +2358,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2437,7 +2437,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2514,7 +2514,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2595,7 +2595,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2681,7 +2681,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2865,7 +2865,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2942,7 +2942,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -3021,7 +3021,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -3100,7 +3100,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -3177,7 +3177,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -3266,7 +3266,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -3343,7 +3343,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3424,7 +3424,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3505,7 +3505,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3586,7 +3586,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3668,7 +3668,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3745,7 +3745,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3834,7 +3834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -3915,7 +3915,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3993,7 +3993,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -4077,7 +4077,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -4154,7 +4154,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -4241,7 +4241,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4329,7 +4329,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4416,7 +4416,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4495,7 +4495,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4579,7 +4579,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4668,7 +4668,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4747,7 +4747,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -4824,7 +4824,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -4901,7 +4901,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -4978,7 +4978,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -5060,7 +5060,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -5146,7 +5146,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -5238,7 +5238,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5329,7 +5329,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5420,7 +5420,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5511,7 +5511,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5602,7 +5602,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -5688,7 +5688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -5772,7 +5772,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -5856,7 +5856,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -5934,7 +5934,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6163,7 +6163,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6432,7 +6432,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6665,7 +6665,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6832,7 +6832,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7023,7 +7023,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7245,7 +7245,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7407,7 +7407,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7793,7 +7793,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -8127,7 +8127,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8462,7 +8462,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8644,7 +8644,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -8778,7 +8778,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -9032,7 +9032,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9243,7 +9243,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9425,7 +9425,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -9732,7 +9732,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -10025,7 +10025,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10313,7 +10313,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10480,7 +10480,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10658,7 +10658,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -10766,7 +10766,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -10874,7 +10874,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11259,7 +11259,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -11657,7 +11657,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11861,7 +11861,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -12019,7 +12019,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12219,7 +12219,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12426,7 +12426,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -12621,7 +12621,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -12916,7 +12916,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13145,7 +13145,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13374,7 +13374,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -13603,7 +13603,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13848,7 +13848,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -14147,7 +14147,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14307,7 +14307,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -14419,7 +14419,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -14601,7 +14601,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -14761,7 +14761,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -14928,7 +14928,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15095,7 +15095,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15337,7 +15337,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -15519,7 +15519,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -15869,7 +15869,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16219,7 +16219,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -16608,7 +16608,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -16850,7 +16850,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17008,7 +17008,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17125,7 +17125,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -17343,7 +17343,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -17562,7 +17562,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -17671,7 +17671,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -17854,7 +17854,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18232,7 +18232,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -18340,7 +18340,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -18424,7 +18424,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -18614,7 +18614,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -18772,7 +18772,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -18930,7 +18930,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -19161,7 +19161,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -19246,7 +19246,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -19354,7 +19354,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -19443,7 +19443,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -19528,7 +19528,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -19784,7 +19784,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20045,7 +20045,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -20313,7 +20313,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -20456,7 +20456,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -20623,7 +20623,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -20814,7 +20814,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -20949,7 +20949,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -21133,7 +21133,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -21478,7 +21478,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -21775,7 +21775,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -21954,7 +21954,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -22063,7 +22063,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -22147,7 +22147,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -22231,7 +22231,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -22425,7 +22425,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -22559,7 +22559,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -22966,7 +22966,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -23339,7 +23339,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -23688,7 +23688,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -23855,7 +23855,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -24165,7 +24165,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -24274,7 +24274,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -24472,7 +24472,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -24679,7 +24679,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -24838,7 +24838,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -25005,7 +25005,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -25148,7 +25148,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -25361,7 +25361,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -25472,7 +25472,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -25565,7 +25565,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -25754,7 +25754,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -25865,7 +25865,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -26047,7 +26047,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -26090,9 +26090,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -26109,7 +26109,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -26138,7 +26138,7 @@
Parameters:
- + diff --git a/docs/Phaser.Hermite.html b/docs/Phaser.Hermite.html index 7e5586cbd..723e132b2 100644 --- a/docs/Phaser.Hermite.html +++ b/docs/Phaser.Hermite.html @@ -6,7 +6,7 @@ Phaser CE Class: Hermite - + @@ -551,7 +551,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 39 + src/geom/Hermite.js line 39 @@ -656,7 +656,7 @@
Type:
Source:
- src/geom/Hermite.js line 396 + src/geom/Hermite.js line 396 @@ -733,7 +733,7 @@
Type:
Source:
- src/geom/Hermite.js line 420 + src/geom/Hermite.js line 420 @@ -810,7 +810,7 @@
Type:
Source:
- src/geom/Hermite.js line 444 + src/geom/Hermite.js line 444 @@ -887,7 +887,7 @@
Type:
Source:
- src/geom/Hermite.js line 468 + src/geom/Hermite.js line 468 @@ -964,7 +964,7 @@
Type:
Source:
- src/geom/Hermite.js line 492 + src/geom/Hermite.js line 492 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/geom/Hermite.js line 516 + src/geom/Hermite.js line 516 @@ -1118,7 +1118,7 @@
Type:
Source:
- src/geom/Hermite.js line 540 + src/geom/Hermite.js line 540 @@ -1195,7 +1195,7 @@
Type:
Source:
- src/geom/Hermite.js line 564 + src/geom/Hermite.js line 564 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/geom/Hermite.js line 588 + src/geom/Hermite.js line 588 @@ -1350,7 +1350,7 @@

Source:
- src/geom/Hermite.js line 146 + src/geom/Hermite.js line 146 @@ -1509,7 +1509,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 173 + src/geom/Hermite.js line 173 @@ -1687,7 +1687,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 336 + src/geom/Hermite.js line 336 @@ -1865,7 +1865,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 354 + src/geom/Hermite.js line 354 @@ -2026,7 +2026,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 376 + src/geom/Hermite.js line 376 @@ -2245,7 +2245,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 276 + src/geom/Hermite.js line 276 @@ -2464,7 +2464,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 309 + src/geom/Hermite.js line 309 @@ -2642,7 +2642,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 210 + src/geom/Hermite.js line 210 @@ -2820,7 +2820,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 243 + src/geom/Hermite.js line 243 @@ -2930,7 +2930,7 @@

Source:
- src/geom/Hermite.js line 123 + src/geom/Hermite.js line 123 @@ -2997,9 +2997,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3045,7 +3045,7 @@
Returns:
- + diff --git a/docs/Phaser.Image.html b/docs/Phaser.Image.html index 74c729734..6d98b1b6a 100644 --- a/docs/Phaser.Image.html +++ b/docs/Phaser.Image.html @@ -6,7 +6,7 @@ Phaser CE Class: Image - + @@ -415,7 +415,7 @@
Parameters:
Source:
- src/gameobjects/Image.js line 37 + src/gameobjects/Image.js line 37 @@ -583,7 +583,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -679,7 +679,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -769,7 +769,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -860,7 +860,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -947,7 +947,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1044,7 +1044,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1665,7 +1665,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1751,7 +1751,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1839,7 +1839,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1935,7 +1935,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2021,7 +2021,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2108,7 +2108,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2195,7 +2195,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2300,7 +2300,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2386,7 +2386,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2477,7 +2477,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2570,7 +2570,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2661,7 +2661,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -2752,7 +2752,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -2839,7 +2839,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2925,7 +2925,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3011,7 +3011,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -3107,7 +3107,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3195,7 +3195,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3373,7 +3373,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3466,7 +3466,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3568,7 +3568,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3655,7 +3655,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3745,7 +3745,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -3834,7 +3834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -3921,7 +3921,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4009,7 +4009,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4097,7 +4097,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4186,7 +4186,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4275,7 +4275,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4362,7 +4362,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4450,7 +4450,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4536,7 +4536,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4622,7 +4622,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -4709,7 +4709,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4796,7 +4796,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -4883,7 +4883,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -4972,7 +4972,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5061,7 +5061,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5149,7 +5149,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5237,7 +5237,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5331,7 +5331,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -5419,7 +5419,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5505,7 +5505,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -5598,7 +5598,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -5691,7 +5691,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -5778,7 +5778,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5864,7 +5864,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -5950,7 +5950,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6027,7 +6027,7 @@
Type:
Source:
- src/gameobjects/Image.js line 48 + src/gameobjects/Image.js line 48 @@ -6126,7 +6126,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -6212,7 +6212,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -6300,7 +6300,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6392,7 +6392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6483,7 +6483,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6574,7 +6574,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6665,7 +6665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -6756,7 +6756,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6842,7 +6842,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6929,7 +6929,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -7016,7 +7016,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -7105,7 +7105,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7242,7 +7242,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7433,7 +7433,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7776,7 +7776,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8120,7 +8120,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8240,7 +8240,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8407,7 +8407,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8633,7 +8633,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -8733,7 +8733,7 @@

Source:
- src/pixi/display/DisplayObject.js line 255 + src/pixi/display/DisplayObject.js line 255 @@ -8978,7 +8978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -9154,7 +9154,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -9321,7 +9321,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9488,7 +9488,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9605,7 +9605,7 @@

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

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -10011,7 +10011,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10107,7 +10107,7 @@

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

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -10410,7 +10410,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10716,7 +10716,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -10833,7 +10833,7 @@

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

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

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -11158,7 +11158,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -11325,7 +11325,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -11516,7 +11516,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -11755,7 +11755,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11872,7 +11872,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -12065,7 +12065,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -12230,7 +12230,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -12350,7 +12350,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -12541,7 +12541,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -12685,7 +12685,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -12922,7 +12922,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -13122,7 +13122,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -13289,7 +13289,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -13432,7 +13432,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -13645,7 +13645,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -13766,7 +13766,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -13979,7 +13979,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -14142,7 +14142,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -14211,9 +14211,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -14230,7 +14230,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -14259,7 +14259,7 @@
Returns:
- + diff --git a/docs/Phaser.ImageCollection.html b/docs/Phaser.ImageCollection.html index c903cc6f4..18294a59d 100644 --- a/docs/Phaser.ImageCollection.html +++ b/docs/Phaser.ImageCollection.html @@ -6,7 +6,7 @@ Phaser CE Class: ImageCollection - + @@ -483,7 +483,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 22 + src/tilemap/ImageCollection.js line 22 @@ -589,7 +589,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 40 + src/tilemap/ImageCollection.js line 40 @@ -666,7 +666,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 54 + src/tilemap/ImageCollection.js line 54 @@ -786,7 +786,7 @@
Properties:
Source:
- src/tilemap/ImageCollection.js line 63 + src/tilemap/ImageCollection.js line 63 @@ -863,7 +863,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 85 + src/tilemap/ImageCollection.js line 85 @@ -941,7 +941,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 71 + src/tilemap/ImageCollection.js line 71 @@ -1018,7 +1018,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 47 + src/tilemap/ImageCollection.js line 47 @@ -1095,7 +1095,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 33 + src/tilemap/ImageCollection.js line 33 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 77 + src/tilemap/ImageCollection.js line 77 @@ -1249,7 +1249,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 93 + src/tilemap/ImageCollection.js line 93 @@ -1401,7 +1401,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 114 + src/tilemap/ImageCollection.js line 114 @@ -1535,7 +1535,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 98 + src/tilemap/ImageCollection.js line 98 @@ -1602,9 +1602,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1621,7 +1621,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1650,7 +1650,7 @@
Returns:
- + diff --git a/docs/Phaser.Input.html b/docs/Phaser.Input.html index 18002c08c..c2205aaa0 100644 --- a/docs/Phaser.Input.html +++ b/docs/Phaser.Input.html @@ -6,7 +6,7 @@ Phaser CE Class: Input - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/input/Input.js line 15 + src/input/Input.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/input/Input.js line 405 + src/input/Input.js line 405 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Input.js line 386 + src/input/Input.js line 386 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Input.js line 398 + src/input/Input.js line 398 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Input.js line 392 + src/input/Input.js line 392 @@ -633,7 +633,7 @@
Type:
Source:
- src/input/Input.js line 232 + src/input/Input.js line 232 @@ -711,7 +711,7 @@
Type:
Source:
- src/input/Input.js line 91 + src/input/Input.js line 91 @@ -795,7 +795,7 @@
Type:
Source:
- src/input/Input.js line 114 + src/input/Input.js line 114 @@ -880,7 +880,7 @@
Type:
Source:
- src/input/Input.js line 67 + src/input/Input.js line 67 @@ -957,7 +957,7 @@
Type:
Source:
- src/input/Input.js line 20 + src/input/Input.js line 20 @@ -1034,7 +1034,7 @@
Type:
Source:
- src/input/Input.js line 283 + src/input/Input.js line 283 @@ -1111,7 +1111,7 @@
Type:
Source:
- src/input/Input.js line 26 + src/input/Input.js line 26 @@ -1188,7 +1188,7 @@
Type:
Source:
- src/input/Input.js line 32 + src/input/Input.js line 32 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/input/Input.js line 120 + src/input/Input.js line 120 @@ -1349,7 +1349,7 @@
Type:
Source:
- src/input/Input.js line 348 + src/input/Input.js line 348 @@ -1433,7 +1433,7 @@
Type:
Source:
- src/input/Input.js line 126 + src/input/Input.js line 126 @@ -1517,7 +1517,7 @@
Type:
Source:
- src/input/Input.js line 132 + src/input/Input.js line 132 @@ -1594,7 +1594,7 @@
Type:
Source:
- src/input/Input.js line 256 + src/input/Input.js line 256 @@ -1678,7 +1678,7 @@
Type:
Source:
- src/input/Input.js line 102 + src/input/Input.js line 102 @@ -1756,7 +1756,7 @@
Type:
Source:
- src/input/Input.js line 342 + src/input/Input.js line 342 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/input/Input.js line 249 + src/input/Input.js line 249 @@ -1912,7 +1912,7 @@
Type:
Source:
- src/input/Input.js line 239 + src/input/Input.js line 239 @@ -1990,7 +1990,7 @@
Type:
Source:
- src/input/Input.js line 40 + src/input/Input.js line 40 @@ -2069,7 +2069,7 @@
Type:
Source:
- src/input/Input.js line 276 + src/input/Input.js line 276 @@ -2146,7 +2146,7 @@
Type:
Source:
- src/input/Input.js line 73 + src/input/Input.js line 73 @@ -2228,7 +2228,7 @@
Type:
Source:
- src/input/Input.js line 302 + src/input/Input.js line 302 @@ -2309,7 +2309,7 @@
Type:
Source:
- src/input/Input.js line 334 + src/input/Input.js line 334 @@ -2391,7 +2391,7 @@
Type:
Source:
- src/input/Input.js line 324 + src/input/Input.js line 324 @@ -2473,7 +2473,7 @@
Type:
Source:
- src/input/Input.js line 313 + src/input/Input.js line 313 @@ -2550,7 +2550,7 @@
Type:
Source:
- src/input/Input.js line 169 + src/input/Input.js line 169 @@ -2627,7 +2627,7 @@
Type:
Source:
- src/input/Input.js line 174 + src/input/Input.js line 174 @@ -2704,7 +2704,7 @@
Type:
Source:
- src/input/Input.js line 179 + src/input/Input.js line 179 @@ -2781,7 +2781,7 @@
Type:
Source:
- src/input/Input.js line 184 + src/input/Input.js line 184 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/input/Input.js line 189 + src/input/Input.js line 189 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/input/Input.js line 194 + src/input/Input.js line 194 @@ -3012,7 +3012,7 @@
Type:
Source:
- src/input/Input.js line 199 + src/input/Input.js line 199 @@ -3089,7 +3089,7 @@
Type:
Source:
- src/input/Input.js line 204 + src/input/Input.js line 204 @@ -3166,7 +3166,7 @@
Type:
Source:
- src/input/Input.js line 209 + src/input/Input.js line 209 @@ -3243,7 +3243,7 @@
Type:
Source:
- src/input/Input.js line 214 + src/input/Input.js line 214 @@ -3321,7 +3321,7 @@
Type:
Source:
- src/input/Input.js line 223 + src/input/Input.js line 223 @@ -3398,7 +3398,7 @@
Type:
Source:
- src/input/Input.js line 1193 + src/input/Input.js line 1194 @@ -3475,7 +3475,7 @@
Type:
Source:
- src/input/Input.js line 58 + src/input/Input.js line 58 @@ -3552,7 +3552,7 @@
Type:
Source:
- src/input/Input.js line 79 + src/input/Input.js line 79 @@ -3637,7 +3637,7 @@
Type:
Source:
- src/input/Input.js line 155 + src/input/Input.js line 155 @@ -3716,7 +3716,7 @@
Type:
Source:
- src/input/Input.js line 141 + src/input/Input.js line 141 @@ -3800,7 +3800,7 @@
Type:
Source:
- src/input/Input.js line 147 + src/input/Input.js line 147 @@ -3878,7 +3878,7 @@
Type:
Source:
- src/input/Input.js line 291 + src/input/Input.js line 291 @@ -3955,7 +3955,7 @@
Type:
Source:
- src/input/Input.js line 96 + src/input/Input.js line 96 @@ -4032,7 +4032,7 @@
Type:
Source:
- src/input/Input.js line 84 + src/input/Input.js line 84 @@ -4116,7 +4116,7 @@
Type:
Source:
- src/input/Input.js line 108 + src/input/Input.js line 108 @@ -4193,7 +4193,7 @@
Type:
Source:
- src/input/Input.js line 1221 + src/input/Input.js line 1222 @@ -4270,7 +4270,7 @@
Type:
Source:
- src/input/Input.js line 1207 + src/input/Input.js line 1208 @@ -4349,7 +4349,7 @@
Type:
Source:
- src/input/Input.js line 266 + src/input/Input.js line 266 @@ -4428,7 +4428,7 @@
Type:
Source:
- src/input/Input.js line 164 + src/input/Input.js line 164 @@ -4505,7 +4505,7 @@
Type:
Source:
- src/input/Input.js line 1235 + src/input/Input.js line 1236 @@ -4582,7 +4582,7 @@
Type:
Source:
- src/input/Input.js line 1249 + src/input/Input.js line 1250 @@ -4660,7 +4660,7 @@
Type:
Source:
- src/input/Input.js line 1157 + src/input/Input.js line 1158 @@ -4738,7 +4738,7 @@
Type:
Source:
- src/input/Input.js line 1175 + src/input/Input.js line 1176 @@ -4772,11 +4772,14 @@

Adds a callback that is fired every time the activePointer receives a DOM move event such as a mousemove or touchmove.

-

The callback will be sent 4 parameters:

-

A reference to the Phaser.Pointer object that moved, -The x position of the pointer, -The y position, -A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down).

+

The callback will be sent 5 parameters:

+
    +
  • A reference to the Phaser.Pointer object that moved
  • +
  • The x position of the pointer
  • +
  • The y position
  • +
  • A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down)
  • +
  • The DOM move event
  • +

It will be called every time the activePointer moves, which in a multi-touch game can be a lot of times, so this is best to only use if you've limited input to a single pointer (i.e. mouse or touch).

The callback is added to the Phaser.Input.moveCallbacks array and should be removed with Phaser.Input.deleteMoveCallback.

@@ -4898,7 +4901,7 @@
Parameters:
Source:
- src/input/Input.js line 535 + src/input/Input.js line 535 @@ -4984,7 +4987,7 @@

Source:
- src/input/Input.js line 652 + src/input/Input.js line 653 @@ -5240,7 +5243,7 @@
Parameters:
Source:
- src/input/Input.js line 561 + src/input/Input.js line 562 @@ -5324,7 +5327,7 @@

Source:
- src/input/Input.js line 409 + src/input/Input.js line 409 @@ -5482,7 +5485,7 @@
Parameters:
Source:
- src/input/Input.js line 630 + src/input/Input.js line 631 @@ -5566,7 +5569,7 @@

Source:
- src/input/Input.js line 477 + src/input/Input.js line 477 @@ -5727,7 +5730,7 @@
Parameters:
Source:
- src/input/Input.js line 1015 + src/input/Input.js line 1016 @@ -5905,7 +5908,7 @@
Parameters:
Source:
- src/input/Input.js line 937 + src/input/Input.js line 938 @@ -6065,7 +6068,7 @@
Parameters:
Source:
- src/input/Input.js line 989 + src/input/Input.js line 990 @@ -6226,7 +6229,7 @@
Parameters:
Source:
- src/input/Input.js line 962 + src/input/Input.js line 963 @@ -6432,7 +6435,7 @@
Parameters:
Source:
- src/input/Input.js line 1037 + src/input/Input.js line 1038 @@ -6590,7 +6593,7 @@
Parameters:
Source:
- src/input/Input.js line 583 + src/input/Input.js line 584 @@ -6771,7 +6774,7 @@
Parameters:
Source:
- src/input/Input.js line 732 + src/input/Input.js line 733 @@ -6929,7 +6932,7 @@
Parameters:
Source:
- src/input/Input.js line 786 + src/input/Input.js line 787 @@ -7098,7 +7101,7 @@
Parameters:
Source:
- src/input/Input.js line 506 + src/input/Input.js line 506 @@ -7233,7 +7236,7 @@
Parameters:
Source:
- src/input/Input.js line 800 + src/input/Input.js line 801 @@ -7391,7 +7394,7 @@
Parameters:
Source:
- src/input/Input.js line 875 + src/input/Input.js line 876 @@ -7499,7 +7502,7 @@

Source:
- src/input/Input.js line 678 + src/input/Input.js line 679 @@ -7634,7 +7637,7 @@
Parameters:
Source:
- src/input/Input.js line 840 + src/input/Input.js line 841 @@ -7701,9 +7704,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -7720,7 +7723,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -7749,7 +7752,7 @@
Returns:

- + diff --git a/docs/Phaser.InputHandler.html b/docs/Phaser.InputHandler.html index 5adf7da98..5650ff784 100644 --- a/docs/Phaser.InputHandler.html +++ b/docs/Phaser.InputHandler.html @@ -6,7 +6,7 @@ Phaser CE Class: InputHandler - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/input/InputHandler.js line 14 + src/input/InputHandler.js line 14 @@ -342,7 +342,7 @@
Type:
Source:
- src/input/InputHandler.js line 69 + src/input/InputHandler.js line 69 @@ -426,7 +426,7 @@
Type:
Source:
- src/input/InputHandler.js line 75 + src/input/InputHandler.js line 75 @@ -503,7 +503,7 @@
Type:
Source:
- src/input/InputHandler.js line 161 + src/input/InputHandler.js line 161 @@ -580,7 +580,7 @@
Type:
Source:
- src/input/InputHandler.js line 167 + src/input/InputHandler.js line 167 @@ -657,7 +657,7 @@
Type:
Source:
- src/input/InputHandler.js line 81 + src/input/InputHandler.js line 81 @@ -734,7 +734,7 @@
Type:
Source:
- src/input/InputHandler.js line 36 + src/input/InputHandler.js line 36 @@ -811,7 +811,7 @@
Type:
Source:
- src/input/InputHandler.js line 207 + src/input/InputHandler.js line 207 @@ -888,7 +888,7 @@
Type:
Source:
- src/input/InputHandler.js line 197 + src/input/InputHandler.js line 197 @@ -965,7 +965,7 @@
Type:
Source:
- src/input/InputHandler.js line 182 + src/input/InputHandler.js line 182 @@ -1042,7 +1042,7 @@
Type:
Source:
- src/input/InputHandler.js line 155 + src/input/InputHandler.js line 155 @@ -1119,7 +1119,7 @@
Type:
Source:
- src/input/InputHandler.js line 177 + src/input/InputHandler.js line 177 @@ -1196,7 +1196,7 @@
Type:
Source:
- src/input/InputHandler.js line 192 + src/input/InputHandler.js line 192 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/input/InputHandler.js line 187 + src/input/InputHandler.js line 187 @@ -1350,7 +1350,7 @@
Type:
Source:
- src/input/InputHandler.js line 202 + src/input/InputHandler.js line 202 @@ -1427,7 +1427,7 @@
Type:
Source:
- src/input/InputHandler.js line 30 + src/input/InputHandler.js line 30 @@ -1504,7 +1504,7 @@
Type:
Source:
- src/input/InputHandler.js line 24 + src/input/InputHandler.js line 24 @@ -1581,7 +1581,7 @@
Type:
Source:
- src/input/InputHandler.js line 63 + src/input/InputHandler.js line 63 @@ -1665,7 +1665,7 @@
Type:
Source:
- src/input/InputHandler.js line 149 + src/input/InputHandler.js line 149 @@ -1745,7 +1745,7 @@
Type:
Source:
- src/input/InputHandler.js line 143 + src/input/InputHandler.js line 143 @@ -1825,7 +1825,7 @@
Type:
Source:
- src/input/InputHandler.js line 133 + src/input/InputHandler.js line 133 @@ -1904,7 +1904,7 @@
Type:
Source:
- src/input/InputHandler.js line 45 + src/input/InputHandler.js line 45 @@ -1981,7 +1981,7 @@
Type:
Source:
- src/input/InputHandler.js line 172 + src/input/InputHandler.js line 172 @@ -2058,7 +2058,7 @@
Type:
Source:
- src/input/InputHandler.js line 87 + src/input/InputHandler.js line 87 @@ -2135,7 +2135,7 @@
Type:
Source:
- src/input/InputHandler.js line 117 + src/input/InputHandler.js line 117 @@ -2212,7 +2212,7 @@
Type:
Source:
- src/input/InputHandler.js line 123 + src/input/InputHandler.js line 123 @@ -2289,7 +2289,7 @@
Type:
Source:
- src/input/InputHandler.js line 93 + src/input/InputHandler.js line 93 @@ -2366,7 +2366,7 @@
Type:
Source:
- src/input/InputHandler.js line 99 + src/input/InputHandler.js line 99 @@ -2443,7 +2443,7 @@
Type:
Source:
- src/input/InputHandler.js line 212 + src/input/InputHandler.js line 212 @@ -2520,7 +2520,7 @@
Type:
Source:
- src/input/InputHandler.js line 105 + src/input/InputHandler.js line 105 @@ -2597,7 +2597,7 @@
Type:
Source:
- src/input/InputHandler.js line 111 + src/input/InputHandler.js line 111 @@ -2674,7 +2674,7 @@
Type:
Source:
- src/input/InputHandler.js line 19 + src/input/InputHandler.js line 19 @@ -2751,7 +2751,7 @@
Type:
Source:
- src/input/InputHandler.js line 51 + src/input/InputHandler.js line 51 @@ -2829,7 +2829,7 @@

Source:
- src/input/InputHandler.js line 1687 + src/input/InputHandler.js line 1687 @@ -2913,7 +2913,7 @@

Source:
- src/input/InputHandler.js line 1737 + src/input/InputHandler.js line 1737 @@ -3124,7 +3124,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 799 + src/input/InputHandler.js line 799 @@ -3339,7 +3339,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 710 + src/input/InputHandler.js line 710 @@ -3554,7 +3554,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 755 + src/input/InputHandler.js line 755 @@ -3658,7 +3658,7 @@

Source:
- src/input/InputHandler.js line 430 + src/input/InputHandler.js line 430 @@ -3743,7 +3743,7 @@

Source:
- src/input/InputHandler.js line 1451 + src/input/InputHandler.js line 1451 @@ -3827,7 +3827,7 @@

Source:
- src/input/InputHandler.js line 1675 + src/input/InputHandler.js line 1675 @@ -3981,7 +3981,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1373 + src/input/InputHandler.js line 1373 @@ -4369,7 +4369,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1393 + src/input/InputHandler.js line 1393 @@ -4716,7 +4716,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1647 + src/input/InputHandler.js line 1647 @@ -4850,7 +4850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1573 + src/input/InputHandler.js line 1573 @@ -5008,7 +5008,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1537 + src/input/InputHandler.js line 1537 @@ -5142,7 +5142,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1555 + src/input/InputHandler.js line 1555 @@ -5226,7 +5226,7 @@

Source:
- src/input/InputHandler.js line 495 + src/input/InputHandler.js line 495 @@ -5440,7 +5440,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1302 + src/input/InputHandler.js line 1302 @@ -5650,7 +5650,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1285 + src/input/InputHandler.js line 1285 @@ -5860,7 +5860,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1319 + src/input/InputHandler.js line 1319 @@ -6070,7 +6070,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1336 + src/input/InputHandler.js line 1336 @@ -6244,7 +6244,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1353 + src/input/InputHandler.js line 1353 @@ -6423,7 +6423,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 539 + src/input/InputHandler.js line 539 @@ -6603,7 +6603,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 695 + src/input/InputHandler.js line 695 @@ -6781,7 +6781,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 634 + src/input/InputHandler.js line 634 @@ -6959,7 +6959,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 601 + src/input/InputHandler.js line 601 @@ -7139,7 +7139,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 571 + src/input/InputHandler.js line 571 @@ -7313,7 +7313,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 680 + src/input/InputHandler.js line 680 @@ -7487,7 +7487,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 665 + src/input/InputHandler.js line 665 @@ -7661,7 +7661,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 586 + src/input/InputHandler.js line 586 @@ -7836,7 +7836,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 555 + src/input/InputHandler.js line 555 @@ -8017,7 +8017,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 507 + src/input/InputHandler.js line 507 @@ -8196,7 +8196,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 523 + src/input/InputHandler.js line 523 @@ -8304,7 +8304,7 @@

Source:
- src/input/InputHandler.js line 382 + src/input/InputHandler.js line 382 @@ -8498,7 +8498,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1630 + src/input/InputHandler.js line 1630 @@ -8692,7 +8692,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 284 + src/input/InputHandler.js line 284 @@ -8850,7 +8850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1474 + src/input/InputHandler.js line 1474 @@ -8934,7 +8934,7 @@

Source:
- src/input/InputHandler.js line 410 + src/input/InputHandler.js line 410 @@ -9068,7 +9068,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1593 + src/input/InputHandler.js line 1593 @@ -9203,7 +9203,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 868 + src/input/InputHandler.js line 868 @@ -9454,7 +9454,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 456 + src/input/InputHandler.js line 456 @@ -9521,9 +9521,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -9540,7 +9540,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -9569,7 +9569,7 @@
Returns:
- + diff --git a/docs/Phaser.Key.html b/docs/Phaser.Key.html index 3868b64ef..8d96800ca 100644 --- a/docs/Phaser.Key.html +++ b/docs/Phaser.Key.html @@ -6,7 +6,7 @@ Phaser CE Class: Key - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/input/Key.js line 15 + src/input/Key.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/input/Key.js line 51 + src/input/Key.js line 51 @@ -436,7 +436,7 @@
Type:
Source:
- src/input/Key.js line 57 + src/input/Key.js line 57 @@ -514,7 +514,7 @@
Type:
Source:
- src/input/Key.js line 76 + src/input/Key.js line 76 @@ -634,7 +634,7 @@
Properties:
Source:
- src/input/Key.js line 90 + src/input/Key.js line 90 @@ -719,7 +719,7 @@
Type:
Source:
- src/input/Key.js line 374 + src/input/Key.js line 374 @@ -796,7 +796,7 @@
Type:
Source:
- src/input/Key.js line 33 + src/input/Key.js line 33 @@ -873,7 +873,7 @@
Type:
Source:
- src/input/Key.js line 20 + src/input/Key.js line 20 @@ -950,7 +950,7 @@
Type:
Source:
- src/input/Key.js line 39 + src/input/Key.js line 39 @@ -1034,7 +1034,7 @@
Type:
Source:
- src/input/Key.js line 45 + src/input/Key.js line 45 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/input/Key.js line 328 + src/input/Key.js line 328 @@ -1208,7 +1208,7 @@
Type:
Source:
- src/input/Key.js line 351 + src/input/Key.js line 351 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/input/Key.js line 101 + src/input/Key.js line 101 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/input/Key.js line 106 + src/input/Key.js line 106 @@ -1439,7 +1439,7 @@
Type:
Source:
- src/input/Key.js line 111 + src/input/Key.js line 111 @@ -1516,7 +1516,7 @@
Type:
Source:
- src/input/Key.js line 116 + src/input/Key.js line 116 @@ -1593,7 +1593,7 @@
Type:
Source:
- src/input/Key.js line 121 + src/input/Key.js line 121 @@ -1670,7 +1670,7 @@
Type:
Source:
- src/input/Key.js line 96 + src/input/Key.js line 96 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/input/Key.js line 63 + src/input/Key.js line 63 @@ -1824,7 +1824,7 @@
Type:
Source:
- src/input/Key.js line 68 + src/input/Key.js line 68 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/input/Key.js line 82 + src/input/Key.js line 82 @@ -2050,7 +2050,7 @@
Parameters:
Source:
- src/input/Key.js line 268 + src/input/Key.js line 268 @@ -2159,7 +2159,7 @@

Source:
- src/input/Key.js line 300 + src/input/Key.js line 300 @@ -2268,7 +2268,7 @@

Source:
- src/input/Key.js line 313 + src/input/Key.js line 313 @@ -2426,7 +2426,7 @@
Parameters:
Source:
- src/input/Key.js line 166 + src/input/Key.js line 166 @@ -2560,7 +2560,7 @@
Parameters:
Source:
- src/input/Key.js line 204 + src/input/Key.js line 204 @@ -2716,7 +2716,7 @@
Parameters:
Source:
- src/input/Key.js line 236 + src/input/Key.js line 236 @@ -2800,7 +2800,7 @@

Source:
- src/input/Key.js line 139 + src/input/Key.js line 139 @@ -2955,7 +2955,7 @@
Parameters:
Source:
- src/input/Key.js line 284 + src/input/Key.js line 284 @@ -3022,9 +3022,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3041,7 +3041,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3070,7 +3070,7 @@
Returns:
- + diff --git a/docs/Phaser.KeyCode.html b/docs/Phaser.KeyCode.html index 53a0d3979..17ac7423c 100644 --- a/docs/Phaser.KeyCode.html +++ b/docs/Phaser.KeyCode.html @@ -6,7 +6,7 @@ Phaser CE Class: KeyCode - + @@ -187,7 +187,7 @@

Source:
- src/input/Keyboard.js line 653 + src/input/Keyboard.js line 653 @@ -277,7 +277,7 @@

Source:
- src/input/Keyboard.js line 655 + src/input/Keyboard.js line 655 @@ -339,7 +339,7 @@

Source:
- src/input/Keyboard.js line 823 + src/input/Keyboard.js line 823 @@ -401,7 +401,7 @@

Source:
- src/input/Keyboard.js line 657 + src/input/Keyboard.js line 657 @@ -463,7 +463,7 @@

Source:
- src/input/Keyboard.js line 811 + src/input/Keyboard.js line 811 @@ -525,7 +525,7 @@

Source:
- src/input/Keyboard.js line 805 + src/input/Keyboard.js line 805 @@ -587,7 +587,7 @@

Source:
- src/input/Keyboard.js line 659 + src/input/Keyboard.js line 659 @@ -649,7 +649,7 @@

Source:
- src/input/Keyboard.js line 825 + src/input/Keyboard.js line 825 @@ -711,7 +711,7 @@

Source:
- src/input/Keyboard.js line 815 + src/input/Keyboard.js line 815 @@ -773,7 +773,7 @@

Source:
- src/input/Keyboard.js line 807 + src/input/Keyboard.js line 807 @@ -835,7 +835,7 @@

Source:
- src/input/Keyboard.js line 789 + src/input/Keyboard.js line 789 @@ -897,7 +897,7 @@

Source:
- src/input/Keyboard.js line 793 + src/input/Keyboard.js line 793 @@ -959,7 +959,7 @@

Source:
- src/input/Keyboard.js line 821 + src/input/Keyboard.js line 821 @@ -1021,7 +1021,7 @@

Source:
- src/input/Keyboard.js line 661 + src/input/Keyboard.js line 661 @@ -1083,7 +1083,7 @@

Source:
- src/input/Keyboard.js line 853 + src/input/Keyboard.js line 853 @@ -1145,7 +1145,7 @@

Source:
- src/input/Keyboard.js line 845 + src/input/Keyboard.js line 845 @@ -1207,7 +1207,7 @@

Source:
- src/input/Keyboard.js line 663 + src/input/Keyboard.js line 663 @@ -1269,7 +1269,7 @@

Source:
- src/input/Keyboard.js line 723 + src/input/Keyboard.js line 723 @@ -1331,7 +1331,7 @@

Source:
- src/input/Keyboard.js line 835 + src/input/Keyboard.js line 835 @@ -1393,7 +1393,7 @@

Source:
- src/input/Keyboard.js line 817 + src/input/Keyboard.js line 817 @@ -1455,7 +1455,7 @@

Source:
- src/input/Keyboard.js line 791 + src/input/Keyboard.js line 791 @@ -1517,7 +1517,7 @@

Source:
- src/input/Keyboard.js line 827 + src/input/Keyboard.js line 827 @@ -1579,7 +1579,7 @@

Source:
- src/input/Keyboard.js line 665 + src/input/Keyboard.js line 665 @@ -1641,7 +1641,7 @@

Source:
- src/input/Keyboard.js line 759 + src/input/Keyboard.js line 759 @@ -1703,7 +1703,7 @@

Source:
- src/input/Keyboard.js line 761 + src/input/Keyboard.js line 761 @@ -1765,7 +1765,7 @@

Source:
- src/input/Keyboard.js line 763 + src/input/Keyboard.js line 763 @@ -1827,7 +1827,7 @@

Source:
- src/input/Keyboard.js line 765 + src/input/Keyboard.js line 765 @@ -1889,7 +1889,7 @@

Source:
- src/input/Keyboard.js line 767 + src/input/Keyboard.js line 767 @@ -1951,7 +1951,7 @@

Source:
- src/input/Keyboard.js line 769 + src/input/Keyboard.js line 769 @@ -2013,7 +2013,7 @@

Source:
- src/input/Keyboard.js line 771 + src/input/Keyboard.js line 771 @@ -2075,7 +2075,7 @@

Source:
- src/input/Keyboard.js line 773 + src/input/Keyboard.js line 773 @@ -2137,7 +2137,7 @@

Source:
- src/input/Keyboard.js line 775 + src/input/Keyboard.js line 775 @@ -2199,7 +2199,7 @@

Source:
- src/input/Keyboard.js line 777 + src/input/Keyboard.js line 777 @@ -2261,7 +2261,7 @@

Source:
- src/input/Keyboard.js line 779 + src/input/Keyboard.js line 779 @@ -2323,7 +2323,7 @@

Source:
- src/input/Keyboard.js line 781 + src/input/Keyboard.js line 781 @@ -2385,7 +2385,7 @@

Source:
- src/input/Keyboard.js line 783 + src/input/Keyboard.js line 783 @@ -2447,7 +2447,7 @@

Source:
- src/input/Keyboard.js line 785 + src/input/Keyboard.js line 785 @@ -2509,7 +2509,7 @@

Source:
- src/input/Keyboard.js line 787 + src/input/Keyboard.js line 787 @@ -2571,7 +2571,7 @@

Source:
- src/input/Keyboard.js line 717 + src/input/Keyboard.js line 717 @@ -2633,7 +2633,7 @@

Source:
- src/input/Keyboard.js line 715 + src/input/Keyboard.js line 715 @@ -2695,7 +2695,7 @@

Source:
- src/input/Keyboard.js line 667 + src/input/Keyboard.js line 667 @@ -2757,7 +2757,7 @@

Source:
- src/input/Keyboard.js line 669 + src/input/Keyboard.js line 669 @@ -2819,7 +2819,7 @@

Source:
- src/input/Keyboard.js line 855 + src/input/Keyboard.js line 855 @@ -2881,7 +2881,7 @@

Source:
- src/input/Keyboard.js line 837 + src/input/Keyboard.js line 837 @@ -2943,7 +2943,7 @@

Source:
- src/input/Keyboard.js line 671 + src/input/Keyboard.js line 671 @@ -3005,7 +3005,7 @@

Source:
- src/input/Keyboard.js line 851 + src/input/Keyboard.js line 851 @@ -3067,7 +3067,7 @@

Source:
- src/input/Keyboard.js line 673 + src/input/Keyboard.js line 673 @@ -3129,7 +3129,7 @@

Source:
- src/input/Keyboard.js line 675 + src/input/Keyboard.js line 675 @@ -3191,7 +3191,7 @@

Source:
- src/input/Keyboard.js line 677 + src/input/Keyboard.js line 677 @@ -3253,7 +3253,7 @@

Source:
- src/input/Keyboard.js line 839 + src/input/Keyboard.js line 839 @@ -3315,7 +3315,7 @@

Source:
- src/input/Keyboard.js line 679 + src/input/Keyboard.js line 679 @@ -3377,7 +3377,7 @@

Source:
- src/input/Keyboard.js line 849 + src/input/Keyboard.js line 849 @@ -3439,7 +3439,7 @@

Source:
- src/input/Keyboard.js line 681 + src/input/Keyboard.js line 681 @@ -3501,7 +3501,7 @@

Source:
- src/input/Keyboard.js line 725 + src/input/Keyboard.js line 725 @@ -3563,7 +3563,7 @@

Source:
- src/input/Keyboard.js line 857 + src/input/Keyboard.js line 857 @@ -3625,7 +3625,7 @@

Source:
- src/input/Keyboard.js line 727 + src/input/Keyboard.js line 727 @@ -3687,7 +3687,7 @@

Source:
- src/input/Keyboard.js line 729 + src/input/Keyboard.js line 729 @@ -3749,7 +3749,7 @@

Source:
- src/input/Keyboard.js line 731 + src/input/Keyboard.js line 731 @@ -3811,7 +3811,7 @@

Source:
- src/input/Keyboard.js line 733 + src/input/Keyboard.js line 733 @@ -3873,7 +3873,7 @@

Source:
- src/input/Keyboard.js line 735 + src/input/Keyboard.js line 735 @@ -3935,7 +3935,7 @@

Source:
- src/input/Keyboard.js line 737 + src/input/Keyboard.js line 737 @@ -3997,7 +3997,7 @@

Source:
- src/input/Keyboard.js line 739 + src/input/Keyboard.js line 739 @@ -4059,7 +4059,7 @@

Source:
- src/input/Keyboard.js line 741 + src/input/Keyboard.js line 741 @@ -4121,7 +4121,7 @@

Source:
- src/input/Keyboard.js line 743 + src/input/Keyboard.js line 743 @@ -4183,7 +4183,7 @@

Source:
- src/input/Keyboard.js line 745 + src/input/Keyboard.js line 745 @@ -4245,7 +4245,7 @@

Source:
- src/input/Keyboard.js line 749 + src/input/Keyboard.js line 749 @@ -4307,7 +4307,7 @@

Source:
- src/input/Keyboard.js line 755 + src/input/Keyboard.js line 755 @@ -4369,7 +4369,7 @@

Source:
- src/input/Keyboard.js line 757 + src/input/Keyboard.js line 757 @@ -4431,7 +4431,7 @@

Source:
- src/input/Keyboard.js line 751 + src/input/Keyboard.js line 751 @@ -4493,7 +4493,7 @@

Source:
- src/input/Keyboard.js line 747 + src/input/Keyboard.js line 747 @@ -4555,7 +4555,7 @@

Source:
- src/input/Keyboard.js line 753 + src/input/Keyboard.js line 753 @@ -4617,7 +4617,7 @@

Source:
- src/input/Keyboard.js line 683 + src/input/Keyboard.js line 683 @@ -4679,7 +4679,7 @@

Source:
- src/input/Keyboard.js line 709 + src/input/Keyboard.js line 709 @@ -4741,7 +4741,7 @@

Source:
- src/input/Keyboard.js line 803 + src/input/Keyboard.js line 803 @@ -4803,7 +4803,7 @@

Source:
- src/input/Keyboard.js line 685 + src/input/Keyboard.js line 685 @@ -4865,7 +4865,7 @@

Source:
- src/input/Keyboard.js line 833 + src/input/Keyboard.js line 833 @@ -4927,7 +4927,7 @@

Source:
- src/input/Keyboard.js line 831 + src/input/Keyboard.js line 831 @@ -4989,7 +4989,7 @@

Source:
- src/input/Keyboard.js line 797 + src/input/Keyboard.js line 797 @@ -5051,7 +5051,7 @@

Source:
- src/input/Keyboard.js line 847 + src/input/Keyboard.js line 847 @@ -5113,7 +5113,7 @@

Source:
- src/input/Keyboard.js line 687 + src/input/Keyboard.js line 687 @@ -5175,7 +5175,7 @@

Source:
- src/input/Keyboard.js line 799 + src/input/Keyboard.js line 799 @@ -5237,7 +5237,7 @@

Source:
- src/input/Keyboard.js line 809 + src/input/Keyboard.js line 809 @@ -5299,7 +5299,7 @@

Source:
- src/input/Keyboard.js line 689 + src/input/Keyboard.js line 689 @@ -5361,7 +5361,7 @@

Source:
- src/input/Keyboard.js line 843 + src/input/Keyboard.js line 843 @@ -5423,7 +5423,7 @@

Source:
- src/input/Keyboard.js line 691 + src/input/Keyboard.js line 691 @@ -5485,7 +5485,7 @@

Source:
- src/input/Keyboard.js line 721 + src/input/Keyboard.js line 721 @@ -5547,7 +5547,7 @@

Source:
- src/input/Keyboard.js line 819 + src/input/Keyboard.js line 819 @@ -5609,7 +5609,7 @@

Source:
- src/input/Keyboard.js line 719 + src/input/Keyboard.js line 719 @@ -5671,7 +5671,7 @@

Source:
- src/input/Keyboard.js line 829 + src/input/Keyboard.js line 829 @@ -5733,7 +5733,7 @@

Source:
- src/input/Keyboard.js line 693 + src/input/Keyboard.js line 693 @@ -5795,7 +5795,7 @@

Source:
- src/input/Keyboard.js line 813 + src/input/Keyboard.js line 813 @@ -5857,7 +5857,7 @@

Source:
- src/input/Keyboard.js line 713 + src/input/Keyboard.js line 713 @@ -5919,7 +5919,7 @@

Source:
- src/input/Keyboard.js line 801 + src/input/Keyboard.js line 801 @@ -5981,7 +5981,7 @@

Source:
- src/input/Keyboard.js line 711 + src/input/Keyboard.js line 711 @@ -6043,7 +6043,7 @@

Source:
- src/input/Keyboard.js line 695 + src/input/Keyboard.js line 695 @@ -6105,7 +6105,7 @@

Source:
- src/input/Keyboard.js line 795 + src/input/Keyboard.js line 795 @@ -6167,7 +6167,7 @@

Source:
- src/input/Keyboard.js line 841 + src/input/Keyboard.js line 841 @@ -6229,7 +6229,7 @@

Source:
- src/input/Keyboard.js line 697 + src/input/Keyboard.js line 697 @@ -6291,7 +6291,7 @@

Source:
- src/input/Keyboard.js line 699 + src/input/Keyboard.js line 699 @@ -6353,7 +6353,7 @@

Source:
- src/input/Keyboard.js line 701 + src/input/Keyboard.js line 701 @@ -6415,7 +6415,7 @@

Source:
- src/input/Keyboard.js line 703 + src/input/Keyboard.js line 703 @@ -6477,7 +6477,7 @@

Source:
- src/input/Keyboard.js line 705 + src/input/Keyboard.js line 705 @@ -6539,7 +6539,7 @@

Source:
- src/input/Keyboard.js line 707 + src/input/Keyboard.js line 707 @@ -6572,9 +6572,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -6591,7 +6591,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -6620,7 +6620,7 @@

- + diff --git a/docs/Phaser.Keyboard.html b/docs/Phaser.Keyboard.html index 95c189c40..e597c69b7 100644 --- a/docs/Phaser.Keyboard.html +++ b/docs/Phaser.Keyboard.html @@ -6,7 +6,7 @@ Phaser CE Class: Keyboard - + @@ -235,7 +235,7 @@

Parameters:
Source:
- src/input/Keyboard.js line 21 + src/input/Keyboard.js line 21 @@ -340,7 +340,7 @@
Type:
Source:
- src/input/Keyboard.js line 48 + src/input/Keyboard.js line 48 @@ -424,7 +424,7 @@
Type:
Source:
- src/input/Keyboard.js line 33 + src/input/Keyboard.js line 33 @@ -501,7 +501,7 @@
Type:
Source:
- src/input/Keyboard.js line 38 + src/input/Keyboard.js line 38 @@ -578,7 +578,7 @@
Type:
Source:
- src/input/Keyboard.js line 26 + src/input/Keyboard.js line 26 @@ -655,7 +655,7 @@
Type:
Source:
- src/input/Keyboard.js line 593 + src/input/Keyboard.js line 593 @@ -732,7 +732,7 @@
Type:
Source:
- src/input/Keyboard.js line 620 + src/input/Keyboard.js line 620 @@ -809,7 +809,7 @@
Type:
Source:
- src/input/Keyboard.js line 53 + src/input/Keyboard.js line 53 @@ -886,7 +886,7 @@
Type:
Source:
- src/input/Keyboard.js line 58 + src/input/Keyboard.js line 58 @@ -963,7 +963,7 @@
Type:
Source:
- src/input/Keyboard.js line 63 + src/input/Keyboard.js line 63 @@ -1040,7 +1040,7 @@
Type:
Source:
- src/input/Keyboard.js line 43 + src/input/Keyboard.js line 43 @@ -1304,7 +1304,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 114 + src/input/Keyboard.js line 114 @@ -1439,7 +1439,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 158 + src/input/Keyboard.js line 158 @@ -1607,7 +1607,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 308 + src/input/Keyboard.js line 308 @@ -1743,7 +1743,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 179 + src/input/Keyboard.js line 179 @@ -1851,7 +1851,7 @@

Source:
- src/input/Keyboard.js line 347 + src/input/Keyboard.js line 347 @@ -1935,7 +1935,7 @@

Source:
- src/input/Keyboard.js line 222 + src/input/Keyboard.js line 222 @@ -2044,7 +2044,7 @@

Source:
- src/input/Keyboard.js line 291 + src/input/Keyboard.js line 291 @@ -2235,7 +2235,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 501 + src/input/Keyboard.js line 501 @@ -2393,7 +2393,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 571 + src/input/Keyboard.js line 571 @@ -2551,7 +2551,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 377 + src/input/Keyboard.js line 377 @@ -2685,7 +2685,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 417 + src/input/Keyboard.js line 417 @@ -2819,7 +2819,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 440 + src/input/Keyboard.js line 440 @@ -2903,7 +2903,7 @@

Source:
- src/input/Keyboard.js line 144 + src/input/Keyboard.js line 144 @@ -3037,7 +3037,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 205 + src/input/Keyboard.js line 205 @@ -3171,7 +3171,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 335 + src/input/Keyboard.js line 335 @@ -3325,7 +3325,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 477 + src/input/Keyboard.js line 477 @@ -3410,7 +3410,7 @@

Source:
- src/input/Keyboard.js line 234 + src/input/Keyboard.js line 234 @@ -3494,7 +3494,7 @@

Source:
- src/input/Keyboard.js line 274 + src/input/Keyboard.js line 274 @@ -3578,7 +3578,7 @@

Source:
- src/input/Keyboard.js line 358 + src/input/Keyboard.js line 358 @@ -3772,7 +3772,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 523 + src/input/Keyboard.js line 523 @@ -3839,9 +3839,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3858,7 +3858,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3887,7 +3887,7 @@
Returns:
- + diff --git a/docs/Phaser.Line.html b/docs/Phaser.Line.html index faa71b407..321a0a0c9 100644 --- a/docs/Phaser.Line.html +++ b/docs/Phaser.Line.html @@ -6,7 +6,7 @@ Phaser CE Class: Line - + @@ -370,7 +370,7 @@
Parameters:
Source:
- src/geom/Line.js line 17 + src/geom/Line.js line 17 @@ -475,7 +475,7 @@
Type:
Source:
- src/geom/Line.js line 389 + src/geom/Line.js line 389 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Line.js line 493 + src/geom/Line.js line 493 @@ -629,7 +629,7 @@
Type:
Source:
- src/geom/Line.js line 32 + src/geom/Line.js line 32 @@ -706,7 +706,7 @@
Type:
Source:
- src/geom/Line.js line 519 + src/geom/Line.js line 519 @@ -783,7 +783,7 @@
Type:
Source:
- src/geom/Line.js line 454 + src/geom/Line.js line 454 @@ -860,7 +860,7 @@
Type:
Source:
- src/geom/Line.js line 376 + src/geom/Line.js line 376 @@ -937,7 +937,7 @@
Type:
Source:
- src/geom/Line.js line 558 + src/geom/Line.js line 558 @@ -1014,7 +1014,7 @@
Type:
Source:
- src/geom/Line.js line 532 + src/geom/Line.js line 532 @@ -1091,7 +1091,7 @@
Type:
Source:
- src/geom/Line.js line 545 + src/geom/Line.js line 545 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/geom/Line.js line 415 + src/geom/Line.js line 415 @@ -1245,7 +1245,7 @@
Type:
Source:
- src/geom/Line.js line 467 + src/geom/Line.js line 467 @@ -1322,7 +1322,7 @@
Type:
Source:
- src/geom/Line.js line 402 + src/geom/Line.js line 402 @@ -1399,7 +1399,7 @@
Type:
Source:
- src/geom/Line.js line 27 + src/geom/Line.js line 27 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/geom/Line.js line 480 + src/geom/Line.js line 480 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/geom/Line.js line 38 + src/geom/Line.js line 38 @@ -1630,7 +1630,7 @@
Type:
Source:
- src/geom/Line.js line 506 + src/geom/Line.js line 506 @@ -1707,7 +1707,7 @@
Type:
Source:
- src/geom/Line.js line 428 + src/geom/Line.js line 428 @@ -1784,7 +1784,7 @@
Type:
Source:
- src/geom/Line.js line 441 + src/geom/Line.js line 441 @@ -1989,7 +1989,7 @@
Parameters:
Source:
- src/geom/Line.js line 741 + src/geom/Line.js line 741 @@ -2283,7 +2283,7 @@
Parameters:
Source:
- src/geom/Line.js line 627 + src/geom/Line.js line 627 @@ -2649,7 +2649,7 @@
Parameters:
Source:
- src/geom/Line.js line 571 + src/geom/Line.js line 571 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/geom/Line.js line 647 + src/geom/Line.js line 647 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/geom/Line.js line 807 + src/geom/Line.js line 807 @@ -3208,7 +3208,7 @@
Parameters:
Source:
- src/geom/Line.js line 215 + src/geom/Line.js line 215 @@ -3378,7 +3378,7 @@
Parameters:
Source:
- src/geom/Line.js line 353 + src/geom/Line.js line 353 @@ -3595,7 +3595,7 @@
Parameters:
Source:
- src/geom/Line.js line 295 + src/geom/Line.js line 295 @@ -3825,7 +3825,7 @@
Parameters:
Source:
- src/geom/Line.js line 101 + src/geom/Line.js line 101 @@ -4007,7 +4007,7 @@
Parameters:
Source:
- src/geom/Line.js line 70 + src/geom/Line.js line 70 @@ -4260,7 +4260,7 @@
Parameters:
Source:
- src/geom/Line.js line 78 + src/geom/Line.js line 78 @@ -4514,7 +4514,7 @@
Parameters:
Source:
- src/geom/Line.js line 166 + src/geom/Line.js line 166 @@ -4684,7 +4684,7 @@
Parameters:
Source:
- src/geom/Line.js line 197 + src/geom/Line.js line 197 @@ -4934,7 +4934,7 @@
Parameters:
Source:
- src/geom/Line.js line 239 + src/geom/Line.js line 239 @@ -5184,7 +5184,7 @@
Parameters:
Source:
- src/geom/Line.js line 254 + src/geom/Line.js line 254 @@ -5358,7 +5358,7 @@
Parameters:
Source:
- src/geom/Line.js line 274 + src/geom/Line.js line 274 @@ -5517,7 +5517,7 @@
Parameters:
Source:
- src/geom/Line.js line 183 + src/geom/Line.js line 183 @@ -5734,7 +5734,7 @@
Parameters:
Source:
- src/geom/Line.js line 120 + src/geom/Line.js line 120 @@ -6021,7 +6021,7 @@
Parameters:
Source:
- src/geom/Line.js line 145 + src/geom/Line.js line 145 @@ -6319,7 +6319,7 @@
Parameters:
Source:
- src/geom/Line.js line 44 + src/geom/Line.js line 44 @@ -6386,9 +6386,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -6405,7 +6405,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -6434,7 +6434,7 @@
Returns:
- + diff --git a/docs/Phaser.LinkedList.html b/docs/Phaser.LinkedList.html index 70c6a08ba..fa8c7c633 100644 --- a/docs/Phaser.LinkedList.html +++ b/docs/Phaser.LinkedList.html @@ -6,7 +6,7 @@ Phaser CE Class: LinkedList - + @@ -186,7 +186,7 @@

Source:
- src/utils/LinkedList.js line 18 + src/utils/LinkedList.js line 18 @@ -291,7 +291,7 @@
Type:
Source:
- src/utils/LinkedList.js line 39 + src/utils/LinkedList.js line 39 @@ -368,7 +368,7 @@
Type:
Source:
- src/utils/LinkedList.js line 46 + src/utils/LinkedList.js line 46 @@ -445,7 +445,7 @@
Type:
Source:
- src/utils/LinkedList.js line 25 + src/utils/LinkedList.js line 25 @@ -522,7 +522,7 @@
Type:
Source:
- src/utils/LinkedList.js line 32 + src/utils/LinkedList.js line 32 @@ -599,7 +599,7 @@
Type:
Source:
- src/utils/LinkedList.js line 53 + src/utils/LinkedList.js line 53 @@ -727,7 +727,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 59 + src/utils/LinkedList.js line 59 @@ -886,7 +886,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 156 + src/utils/LinkedList.js line 156 @@ -1020,7 +1020,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 107 + src/utils/LinkedList.js line 107 @@ -1104,7 +1104,7 @@

Source:
- src/utils/LinkedList.js line 92 + src/utils/LinkedList.js line 92 @@ -1147,9 +1147,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1166,7 +1166,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1195,7 +1195,7 @@

- + diff --git a/docs/Phaser.Loader.html b/docs/Phaser.Loader.html index 60c06ae25..021593dea 100644 --- a/docs/Phaser.Loader.html +++ b/docs/Phaser.Loader.html @@ -6,7 +6,7 @@ Phaser CE Class: Loader - + @@ -235,7 +235,7 @@

Parameters:
Source:
- src/loader/Loader.js line 22 + src/loader/Loader.js line 22 @@ -336,7 +336,7 @@
Type:
Source:
- src/loader/Loader.js line 322 + src/loader/Loader.js line 322 @@ -409,7 +409,7 @@
Type:
Source:
- src/loader/Loader.js line 328 + src/loader/Loader.js line 328 @@ -482,7 +482,7 @@
Type:
Source:
- src/loader/Loader.js line 304 + src/loader/Loader.js line 304 @@ -555,7 +555,7 @@
Type:
Source:
- src/loader/Loader.js line 310 + src/loader/Loader.js line 310 @@ -628,7 +628,7 @@
Type:
Source:
- src/loader/Loader.js line 334 + src/loader/Loader.js line 334 @@ -701,7 +701,7 @@
Type:
Source:
- src/loader/Loader.js line 316 + src/loader/Loader.js line 316 @@ -820,7 +820,7 @@
Properties:
Source:
- src/loader/Loader.js line 227 + src/loader/Loader.js line 227 @@ -899,7 +899,7 @@
Type:
Source:
- src/loader/Loader.js line 83 + src/loader/Loader.js line 83 @@ -976,7 +976,7 @@
Type:
Source:
- src/loader/Loader.js line 36 + src/loader/Loader.js line 36 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/loader/Loader.js line 74 + src/loader/Loader.js line 74 @@ -1134,7 +1134,7 @@
Type:
Source:
- src/loader/Loader.js line 210 + src/loader/Loader.js line 210 @@ -1211,7 +1211,7 @@
Type:
Source:
- src/loader/Loader.js line 29 + src/loader/Loader.js line 29 @@ -1288,7 +1288,7 @@
Type:
Source:
- src/loader/Loader.js line 57 + src/loader/Loader.js line 57 @@ -1378,7 +1378,7 @@
Type:
Source:
- src/loader/Loader.js line 128 + src/loader/Loader.js line 128 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/loader/Loader.js line 50 + src/loader/Loader.js line 50 @@ -1534,7 +1534,7 @@
Type:
Source:
- src/loader/Loader.js line 221 + src/loader/Loader.js line 221 @@ -1612,7 +1612,7 @@
Type:
Source:
- src/loader/Loader.js line 148 + src/loader/Loader.js line 148 @@ -1692,7 +1692,7 @@
Type:
Source:
- src/loader/Loader.js line 190 + src/loader/Loader.js line 190 @@ -1771,7 +1771,7 @@
Type:
Source:
- src/loader/Loader.js line 201 + src/loader/Loader.js line 201 @@ -1850,7 +1850,7 @@
Type:
Source:
- src/loader/Loader.js line 177 + src/loader/Loader.js line 177 @@ -1928,7 +1928,7 @@
Type:
Source:
- src/loader/Loader.js line 156 + src/loader/Loader.js line 156 @@ -2006,7 +2006,7 @@
Type:
Source:
- src/loader/Loader.js line 140 + src/loader/Loader.js line 140 @@ -2085,7 +2085,7 @@
Type:
Source:
- src/loader/Loader.js line 167 + src/loader/Loader.js line 167 @@ -2170,7 +2170,7 @@
Type:
Source:
- src/loader/Loader.js line 105 + src/loader/Loader.js line 105 @@ -2248,7 +2248,7 @@
Type:
Source:
- src/loader/Loader.js line 67 + src/loader/Loader.js line 67 @@ -2363,7 +2363,7 @@
Properties:
Source:
- src/loader/Loader.js line 3166 + src/loader/Loader.js line 3166 @@ -2480,7 +2480,7 @@
Properties:
Source:
- src/loader/Loader.js line 3148 + src/loader/Loader.js line 3148 @@ -2557,7 +2557,7 @@
Type:
Source:
- src/loader/Loader.js line 43 + src/loader/Loader.js line 43 @@ -2710,7 +2710,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1839 + src/loader/Loader.js line 1839 @@ -3083,7 +3083,7 @@
Parameters:
Source:
- src/loader/Loader.js line 515 + src/loader/Loader.js line 515 @@ -3405,7 +3405,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1708 + src/loader/Loader.js line 1708 @@ -3694,7 +3694,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1562 + src/loader/Loader.js line 1562 @@ -3983,7 +3983,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1608 + src/loader/Loader.js line 1608 @@ -4272,7 +4272,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1654 + src/loader/Loader.js line 1654 @@ -4539,7 +4539,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1155 + src/loader/Loader.js line 1155 @@ -4882,7 +4882,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1198 + src/loader/Loader.js line 1198 @@ -5219,7 +5219,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1257 + src/loader/Loader.js line 1257 @@ -5519,7 +5519,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1055 + src/loader/Loader.js line 1055 @@ -5898,7 +5898,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1471 + src/loader/Loader.js line 1471 @@ -6081,7 +6081,7 @@
Parameters:
Source:
- src/loader/Loader.js line 390 + src/loader/Loader.js line 390 @@ -6264,7 +6264,7 @@
Parameters:
Source:
- src/loader/Loader.js line 441 + src/loader/Loader.js line 441 @@ -6448,7 +6448,7 @@
Parameters:
Source:
- src/loader/Loader.js line 406 + src/loader/Loader.js line 406 @@ -6728,7 +6728,7 @@
Parameters:
Source:
- src/loader/Loader.js line 693 + src/loader/Loader.js line 693 @@ -6978,7 +6978,7 @@
Parameters:
Source:
- src/loader/Loader.js line 755 + src/loader/Loader.js line 755 @@ -7086,7 +7086,7 @@

Source:
- src/loader/Loader.js line 770 + src/loader/Loader.js line 770 @@ -7177,7 +7177,7 @@

Source:
- src/loader/Loader.js line 782 + src/loader/Loader.js line 782 @@ -7371,7 +7371,7 @@
Parameters:
Source:
- src/loader/Loader.js line 866 + src/loader/Loader.js line 866 @@ -7631,7 +7631,7 @@
Parameters:
Source:
- src/loader/Loader.js line 938 + src/loader/Loader.js line 938 @@ -7928,7 +7928,7 @@
Parameters:
Source:
- src/loader/Loader.js line 613 + src/loader/Loader.js line 613 @@ -8234,7 +8234,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1410 + src/loader/Loader.js line 1410 @@ -8342,7 +8342,7 @@

Source:
- src/loader/Loader.js line 1886 + src/loader/Loader.js line 1886 @@ -8501,7 +8501,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1862 + src/loader/Loader.js line 1862 @@ -8707,7 +8707,7 @@
Parameters:
Source:
- src/loader/Loader.js line 597 + src/loader/Loader.js line 597 @@ -8903,7 +8903,7 @@
Parameters:
Source:
- src/loader/Loader.js line 465 + src/loader/Loader.js line 465 @@ -8988,7 +8988,7 @@

Source:
- src/loader/Loader.js line 373 + src/loader/Loader.js line 373 @@ -9265,7 +9265,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1020 + src/loader/Loader.js line 1020 @@ -9485,7 +9485,7 @@
Parameters:
Source:
- src/loader/Loader.js line 338 + src/loader/Loader.js line 338 @@ -9720,7 +9720,7 @@
Parameters:
Source:
- src/loader/Loader.js line 966 + src/loader/Loader.js line 966 @@ -10187,7 +10187,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1093 + src/loader/Loader.js line 1093 @@ -10295,7 +10295,7 @@

Source:
- src/loader/Loader.js line 1899 + src/loader/Loader.js line 1899 @@ -10530,7 +10530,7 @@
Parameters:
Source:
- src/loader/Loader.js line 911 + src/loader/Loader.js line 911 @@ -10801,7 +10801,7 @@
Parameters:
Source:
- src/loader/Loader.js line 794 + src/loader/Loader.js line 794 @@ -11108,7 +11108,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1329 + src/loader/Loader.js line 1329 @@ -11216,7 +11216,7 @@

Source:
- src/loader/Loader.js line 3094 + src/loader/Loader.js line 3094 @@ -11324,7 +11324,7 @@

Source:
- src/loader/Loader.js line 3120 + src/loader/Loader.js line 3120 @@ -11432,7 +11432,7 @@

Source:
- src/loader/Loader.js line 3107 + src/loader/Loader.js line 3107 @@ -11540,7 +11540,7 @@

Source:
- src/loader/Loader.js line 3133 + src/loader/Loader.js line 3133 @@ -11723,7 +11723,7 @@
Parameters:
Source:
- src/loader/Loader.js line 2233 + src/loader/Loader.js line 2233 @@ -12033,7 +12033,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1275 + src/loader/Loader.js line 1275 @@ -12251,7 +12251,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1813 + src/loader/Loader.js line 1813 @@ -12510,7 +12510,7 @@
Parameters:
Source:
- src/loader/Loader.js line 993 + src/loader/Loader.js line 993 @@ -12577,9 +12577,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -12596,7 +12596,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -12625,7 +12625,7 @@
Returns:
- + diff --git a/docs/Phaser.LoaderParser.html b/docs/Phaser.LoaderParser.html index 9ae115d14..221491ec8 100644 --- a/docs/Phaser.LoaderParser.html +++ b/docs/Phaser.LoaderParser.html @@ -6,7 +6,7 @@ Phaser CE Class: LoaderParser - + @@ -180,7 +180,7 @@

Source:
- src/loader/LoaderParser.js line 12 + src/loader/LoaderParser.js line 12 @@ -542,7 +542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 14 + src/loader/LoaderParser.js line 14 @@ -700,7 +700,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 288 + src/loader/LoaderParser.js line 288 @@ -1068,7 +1068,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 96 + src/loader/LoaderParser.js line 96 @@ -1226,7 +1226,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 385 + src/loader/LoaderParser.js line 385 @@ -1384,7 +1384,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 484 + src/loader/LoaderParser.js line 484 @@ -1542,7 +1542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 189 + src/loader/LoaderParser.js line 189 @@ -1910,7 +1910,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 32 + src/loader/LoaderParser.js line 32 @@ -1977,9 +1977,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1996,7 +1996,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2025,7 +2025,7 @@
Returns:
- + diff --git a/docs/Phaser.MSPointer.html b/docs/Phaser.MSPointer.html index 2daa63c0e..9e632ec33 100644 --- a/docs/Phaser.MSPointer.html +++ b/docs/Phaser.MSPointer.html @@ -6,7 +6,7 @@ Phaser CE Class: MSPointer - + @@ -241,7 +241,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 36 + src/input/MSPointer.js line 36 @@ -348,7 +348,7 @@
Type:
Source:
- src/input/MSPointer.js line 80 + src/input/MSPointer.js line 80 @@ -425,7 +425,7 @@
Type:
Source:
- src/input/MSPointer.js line 52 + src/input/MSPointer.js line 52 @@ -502,7 +502,7 @@
Type:
Source:
- src/input/MSPointer.js line 72 + src/input/MSPointer.js line 72 @@ -586,7 +586,7 @@
Type:
Source:
- src/input/MSPointer.js line 95 + src/input/MSPointer.js line 95 @@ -670,7 +670,7 @@
Type:
Source:
- src/input/MSPointer.js line 88 + src/input/MSPointer.js line 88 @@ -747,7 +747,7 @@
Type:
Source:
- src/input/MSPointer.js line 41 + src/input/MSPointer.js line 41 @@ -824,7 +824,7 @@
Type:
Source:
- src/input/MSPointer.js line 47 + src/input/MSPointer.js line 47 @@ -901,7 +901,7 @@
Type:
Source:
- src/input/MSPointer.js line 57 + src/input/MSPointer.js line 57 @@ -978,7 +978,7 @@
Type:
Source:
- src/input/MSPointer.js line 62 + src/input/MSPointer.js line 62 @@ -1055,7 +1055,7 @@
Type:
Source:
- src/input/MSPointer.js line 67 + src/input/MSPointer.js line 67 @@ -1183,7 +1183,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 206 + src/input/MSPointer.js line 206 @@ -1317,7 +1317,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 246 + src/input/MSPointer.js line 246 @@ -1451,7 +1451,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 346 + src/input/MSPointer.js line 346 @@ -1585,7 +1585,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 401 + src/input/MSPointer.js line 401 @@ -1719,7 +1719,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 283 + src/input/MSPointer.js line 283 @@ -1853,7 +1853,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 322 + src/input/MSPointer.js line 322 @@ -1937,7 +1937,7 @@

Source:
- src/input/MSPointer.js line 137 + src/input/MSPointer.js line 137 @@ -2021,7 +2021,7 @@

Source:
- src/input/MSPointer.js line 437 + src/input/MSPointer.js line 437 @@ -2064,9 +2064,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2083,7 +2083,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2112,7 +2112,7 @@

- + diff --git a/docs/Phaser.Math.html b/docs/Phaser.Math.html index c8b1d35f9..c4f50967f 100644 --- a/docs/Phaser.Math.html +++ b/docs/Phaser.Math.html @@ -6,7 +6,7 @@ Phaser CE Class: Math - + @@ -181,7 +181,7 @@

Source:
- src/math/Math.js line 17 + src/math/Math.js line 17 @@ -337,7 +337,7 @@
Properties:
Source:
- src/math/Math.js line 37 + src/math/Math.js line 37 @@ -463,7 +463,7 @@
Properties:
Source:
- src/math/Math.js line 31 + src/math/Math.js line 31 @@ -589,7 +589,7 @@
Properties:
Source:
- src/math/Math.js line 24 + src/math/Math.js line 24 @@ -708,7 +708,7 @@
Properties:
Source:
- src/math/Math.js line 43 + src/math/Math.js line 43 @@ -908,7 +908,7 @@
Parameters:
Source:
- src/math/Math.js line 541 + src/math/Math.js line 541 @@ -1090,7 +1090,7 @@
Parameters:
Source:
- src/math/Math.js line 576 + src/math/Math.js line 576 @@ -1272,7 +1272,7 @@
Parameters:
Source:
- src/math/Math.js line 590 + src/math/Math.js line 590 @@ -1504,7 +1504,7 @@
Parameters:
Source:
- src/math/Math.js line 557 + src/math/Math.js line 557 @@ -1612,7 +1612,7 @@

Source:
- src/math/Math.js line 260 + src/math/Math.js line 260 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/math/Math.js line 983 + src/math/Math.js line 983 @@ -1969,7 +1969,7 @@
Parameters:
Source:
- src/math/Math.js line 144 + src/math/Math.js line 144 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/math/Math.js line 906 + src/math/Math.js line 906 @@ -2405,7 +2405,7 @@
Parameters:
Source:
- src/math/Math.js line 1019 + src/math/Math.js line 1019 @@ -2583,7 +2583,7 @@
Parameters:
Source:
- src/math/Math.js line 928 + src/math/Math.js line 928 @@ -2838,7 +2838,7 @@
Parameters:
Source:
- src/math/Math.js line 439 + src/math/Math.js line 439 @@ -3044,7 +3044,7 @@
Parameters:
Source:
- src/math/Math.js line 1179 + src/math/Math.js line 1179 @@ -3227,7 +3227,7 @@
Parameters:
Source:
- src/math/Math.js line 1205 + src/math/Math.js line 1205 @@ -3381,7 +3381,7 @@
Parameters:
Source:
- src/math/Math.js line 45 + src/math/Math.js line 45 @@ -3563,7 +3563,7 @@
Parameters:
Source:
- src/math/Math.js line 1039 + src/math/Math.js line 1039 @@ -3793,7 +3793,7 @@
Parameters:
Source:
- src/math/Math.js line 1121 + src/math/Math.js line 1121 @@ -4115,7 +4115,7 @@
Parameters:
Source:
- src/math/Math.js line 1160 + src/math/Math.js line 1160 @@ -4346,7 +4346,7 @@
Parameters:
Source:
- src/math/Math.js line 1140 + src/math/Math.js line 1140 @@ -4500,7 +4500,7 @@
Parameters:
Source:
- src/math/Math.js line 996 + src/math/Math.js line 996 @@ -4751,7 +4751,7 @@
Parameters:
Source:
- src/math/Math.js line 418 + src/math/Math.js line 418 @@ -4965,7 +4965,7 @@
Parameters:
Source:
- src/math/Math.js line 228 + src/math/Math.js line 228 @@ -5215,7 +5215,7 @@
Parameters:
Source:
- src/math/Math.js line 177 + src/math/Math.js line 177 @@ -5429,7 +5429,7 @@
Parameters:
Source:
- src/math/Math.js line 244 + src/math/Math.js line 244 @@ -5679,7 +5679,7 @@
Parameters:
Source:
- src/math/Math.js line 211 + src/math/Math.js line 211 @@ -5929,7 +5929,7 @@
Parameters:
Source:
- src/math/Math.js line 194 + src/math/Math.js line 194 @@ -6088,7 +6088,7 @@
Parameters:
Source:
- src/math/Math.js line 71 + src/math/Math.js line 71 @@ -6276,7 +6276,7 @@
Parameters:
Source:
- src/math/Math.js line 511 + src/math/Math.js line 511 @@ -6458,7 +6458,7 @@
Parameters:
Source:
- src/math/Math.js line 1107 + src/math/Math.js line 1107 @@ -6616,7 +6616,7 @@
Parameters:
Source:
- src/math/Math.js line 726 + src/math/Math.js line 726 @@ -6774,7 +6774,7 @@
Parameters:
Source:
- src/math/Math.js line 712 + src/math/Math.js line 712 @@ -6956,7 +6956,7 @@
Parameters:
Source:
- src/math/Math.js line 100 + src/math/Math.js line 100 @@ -7162,7 +7162,7 @@
Parameters:
Source:
- src/math/Math.js line 968 + src/math/Math.js line 968 @@ -7340,7 +7340,7 @@
Parameters:
Source:
- src/math/Math.js line 878 + src/math/Math.js line 878 @@ -7594,7 +7594,7 @@
Parameters:
Source:
- src/math/Math.js line 1236 + src/math/Math.js line 1236 @@ -7699,7 +7699,7 @@

Source:
- src/math/Math.js line 772 + src/math/Math.js line 772 @@ -7912,7 +7912,7 @@
Parameters:
Source:
- src/math/Math.js line 628 + src/math/Math.js line 628 @@ -8021,7 +8021,7 @@

Source:
- src/math/Math.js line 834 + src/math/Math.js line 834 @@ -8130,7 +8130,7 @@

Source:
- src/math/Math.js line 740 + src/math/Math.js line 740 @@ -8246,7 +8246,7 @@

Source:
- src/math/Math.js line 804 + src/math/Math.js line 804 @@ -8452,7 +8452,7 @@
Parameters:
Source:
- src/math/Math.js line 643 + src/math/Math.js line 643 @@ -8610,7 +8610,7 @@
Parameters:
Source:
- src/math/Math.js line 615 + src/math/Math.js line 615 @@ -8860,7 +8860,7 @@
Parameters:
Source:
- src/math/Math.js line 1304 + src/math/Math.js line 1304 @@ -9018,7 +9018,7 @@
Parameters:
Source:
- src/math/Math.js line 58 + src/math/Math.js line 58 @@ -9201,7 +9201,7 @@
Parameters:
Source:
- src/math/Math.js line 114 + src/math/Math.js line 114 @@ -9359,7 +9359,7 @@
Parameters:
Source:
- src/math/Math.js line 603 + src/math/Math.js line 603 @@ -9610,7 +9610,7 @@
Parameters:
Source:
- src/math/Math.js line 460 + src/math/Math.js line 460 @@ -9768,7 +9768,7 @@
Parameters:
Source:
- src/math/Math.js line 1053 + src/math/Math.js line 1053 @@ -10045,7 +10045,7 @@
Parameters:
Source:
- src/math/Math.js line 372 + src/math/Math.js line 372 @@ -10199,7 +10199,7 @@
Parameters:
Source:
- src/math/Math.js line 281 + src/math/Math.js line 281 @@ -10358,7 +10358,7 @@
Parameters:
Source:
- src/math/Math.js line 1289 + src/math/Math.js line 1289 @@ -10591,7 +10591,7 @@
Parameters:
Source:
- src/math/Math.js line 1067 + src/math/Math.js line 1067 @@ -10797,7 +10797,7 @@
Parameters:
Source:
- src/math/Math.js line 1272 + src/math/Math.js line 1272 @@ -11003,7 +11003,7 @@
Parameters:
Source:
- src/math/Math.js line 1253 + src/math/Math.js line 1253 @@ -11254,7 +11254,7 @@
Parameters:
Source:
- src/math/Math.js line 292 + src/math/Math.js line 292 @@ -11506,7 +11506,7 @@
Parameters:
Source:
- src/math/Math.js line 345 + src/math/Math.js line 345 @@ -11758,7 +11758,7 @@
Parameters:
Source:
- src/math/Math.js line 318 + src/math/Math.js line 318 @@ -11964,7 +11964,7 @@
Parameters:
Source:
- src/math/Math.js line 1220 + src/math/Math.js line 1220 @@ -12178,7 +12178,7 @@
Parameters:
Source:
- src/math/Math.js line 658 + src/math/Math.js line 658 @@ -12392,7 +12392,7 @@
Parameters:
Source:
- src/math/Math.js line 864 + src/math/Math.js line 864 @@ -12599,7 +12599,7 @@
Parameters:
Source:
- src/math/Math.js line 689 + src/math/Math.js line 689 @@ -12666,9 +12666,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -12685,7 +12685,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -12714,7 +12714,7 @@
Returns:
- + diff --git a/docs/Phaser.Matrix.html b/docs/Phaser.Matrix.html index 0940efd02..ad2d9b6f6 100644 --- a/docs/Phaser.Matrix.html +++ b/docs/Phaser.Matrix.html @@ -6,7 +6,7 @@ Phaser CE Class: Matrix - + @@ -454,7 +454,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 26 + src/geom/Matrix.js line 26 @@ -562,7 +562,7 @@
Type:
Source:
- src/geom/Matrix.js line 39 + src/geom/Matrix.js line 39 @@ -642,7 +642,7 @@
Type:
Source:
- src/geom/Matrix.js line 45 + src/geom/Matrix.js line 45 @@ -722,7 +722,7 @@
Type:
Source:
- src/geom/Matrix.js line 51 + src/geom/Matrix.js line 51 @@ -802,7 +802,7 @@
Type:
Source:
- src/geom/Matrix.js line 57 + src/geom/Matrix.js line 57 @@ -882,7 +882,7 @@
Type:
Source:
- src/geom/Matrix.js line 63 + src/geom/Matrix.js line 63 @@ -962,7 +962,7 @@
Type:
Source:
- src/geom/Matrix.js line 69 + src/geom/Matrix.js line 69 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/geom/Matrix.js line 75 + src/geom/Matrix.js line 75 @@ -1167,7 +1167,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 345 + src/geom/Matrix.js line 345 @@ -1370,7 +1370,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 233 + src/geom/Matrix.js line 233 @@ -1573,7 +1573,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 254 + src/geom/Matrix.js line 254 @@ -1745,7 +1745,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 128 + src/geom/Matrix.js line 128 @@ -1903,7 +1903,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 172 + src/geom/Matrix.js line 172 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 157 + src/geom/Matrix.js line 157 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 81 + src/geom/Matrix.js line 81 @@ -2334,7 +2334,7 @@

Source:
- src/geom/Matrix.js line 371 + src/geom/Matrix.js line 371 @@ -2492,7 +2492,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 318 + src/geom/Matrix.js line 318 @@ -2674,7 +2674,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 297 + src/geom/Matrix.js line 297 @@ -2952,7 +2952,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 103 + src/geom/Matrix.js line 103 @@ -3168,7 +3168,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 192 + src/geom/Matrix.js line 192 @@ -3351,7 +3351,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 279 + src/geom/Matrix.js line 279 @@ -3418,9 +3418,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3437,7 +3437,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3466,7 +3466,7 @@
Returns:
- + diff --git a/docs/Phaser.Mouse.html b/docs/Phaser.Mouse.html index eaf358cd8..163e349ae 100644 --- a/docs/Phaser.Mouse.html +++ b/docs/Phaser.Mouse.html @@ -6,7 +6,7 @@ Phaser CE Class: Mouse - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/input/Mouse.js line 21 + src/input/Mouse.js line 21 @@ -336,7 +336,7 @@
Type:
Source:
- src/input/Mouse.js line 190 + src/input/Mouse.js line 190 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Mouse.js line 196 + src/input/Mouse.js line 196 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Mouse.js line 172 + src/input/Mouse.js line 172 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Mouse.js line 178 + src/input/Mouse.js line 178 @@ -628,7 +628,7 @@
Type:
Source:
- src/input/Mouse.js line 166 + src/input/Mouse.js line 166 @@ -701,7 +701,7 @@
Type:
Source:
- src/input/Mouse.js line 184 + src/input/Mouse.js line 184 @@ -774,7 +774,7 @@
Type:
Source:
- src/input/Mouse.js line 208 + src/input/Mouse.js line 208 @@ -847,7 +847,7 @@
Type:
Source:
- src/input/Mouse.js line 202 + src/input/Mouse.js line 202 @@ -926,7 +926,7 @@
Type:
Source:
- src/input/Mouse.js line 76 + src/input/Mouse.js line 76 @@ -1003,7 +1003,7 @@
Type:
Source:
- src/input/Mouse.js line 37 + src/input/Mouse.js line 37 @@ -1080,7 +1080,7 @@
Type:
Source:
- src/input/Mouse.js line 67 + src/input/Mouse.js line 67 @@ -1164,7 +1164,7 @@
Type:
Source:
- src/input/Mouse.js line 89 + src/input/Mouse.js line 89 @@ -1245,7 +1245,7 @@
Type:
Source:
- src/input/Mouse.js line 115 + src/input/Mouse.js line 115 @@ -1322,7 +1322,7 @@
Type:
Source:
- src/input/Mouse.js line 26 + src/input/Mouse.js line 26 @@ -1399,7 +1399,7 @@
Type:
Source:
- src/input/Mouse.js line 32 + src/input/Mouse.js line 32 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/input/Mouse.js line 95 + src/input/Mouse.js line 95 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/input/Mouse.js line 42 + src/input/Mouse.js line 42 @@ -1630,7 +1630,7 @@
Type:
Source:
- src/input/Mouse.js line 52 + src/input/Mouse.js line 52 @@ -1707,7 +1707,7 @@
Type:
Source:
- src/input/Mouse.js line 57 + src/input/Mouse.js line 57 @@ -1784,7 +1784,7 @@
Type:
Source:
- src/input/Mouse.js line 47 + src/input/Mouse.js line 47 @@ -1861,7 +1861,7 @@
Type:
Source:
- src/input/Mouse.js line 62 + src/input/Mouse.js line 62 @@ -1938,7 +1938,7 @@
Type:
Source:
- src/input/Mouse.js line 107 + src/input/Mouse.js line 107 @@ -2015,7 +2015,7 @@
Type:
Source:
- src/input/Mouse.js line 101 + src/input/Mouse.js line 101 @@ -2092,7 +2092,7 @@
Type:
Source:
- src/input/Mouse.js line 82 + src/input/Mouse.js line 82 @@ -2220,7 +2220,7 @@
Parameters:
Source:
- src/input/Mouse.js line 296 + src/input/Mouse.js line 296 @@ -2354,7 +2354,7 @@
Parameters:
Source:
- src/input/Mouse.js line 326 + src/input/Mouse.js line 326 @@ -2488,7 +2488,7 @@
Parameters:
Source:
- src/input/Mouse.js line 445 + src/input/Mouse.js line 445 @@ -2622,7 +2622,7 @@
Parameters:
Source:
- src/input/Mouse.js line 408 + src/input/Mouse.js line 408 @@ -2756,7 +2756,7 @@
Parameters:
Source:
- src/input/Mouse.js line 489 + src/input/Mouse.js line 489 @@ -2890,7 +2890,7 @@
Parameters:
Source:
- src/input/Mouse.js line 356 + src/input/Mouse.js line 356 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/input/Mouse.js line 386 + src/input/Mouse.js line 386 @@ -3158,7 +3158,7 @@
Parameters:
Source:
- src/input/Mouse.js line 513 + src/input/Mouse.js line 513 @@ -3292,7 +3292,7 @@
Parameters:
Source:
- src/input/Mouse.js line 571 + src/input/Mouse.js line 571 @@ -3376,7 +3376,7 @@

Source:
- src/input/Mouse.js line 596 + src/input/Mouse.js line 596 @@ -3462,7 +3462,7 @@

Source:
- src/input/Mouse.js line 542 + src/input/Mouse.js line 542 @@ -3546,7 +3546,7 @@

Source:
- src/input/Mouse.js line 212 + src/input/Mouse.js line 212 @@ -3630,7 +3630,7 @@

Source:
- src/input/Mouse.js line 612 + src/input/Mouse.js line 612 @@ -3673,9 +3673,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3692,7 +3692,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3721,7 +3721,7 @@

- + diff --git a/docs/Phaser.Net.html b/docs/Phaser.Net.html index 850963d43..f94c763e9 100644 --- a/docs/Phaser.Net.html +++ b/docs/Phaser.Net.html @@ -6,7 +6,7 @@ Phaser CE Class: Net - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/net/Net.js line 14 + src/net/Net.js line 14 @@ -385,7 +385,7 @@
Parameters:
Source:
- src/net/Net.js line 38 + src/net/Net.js line 38 @@ -544,7 +544,7 @@
Parameters:
Source:
- src/net/Net.js line 152 + src/net/Net.js line 152 @@ -652,7 +652,7 @@

Source:
- src/net/Net.js line 22 + src/net/Net.js line 22 @@ -827,7 +827,7 @@
Parameters:
Source:
- src/net/Net.js line 116 + src/net/Net.js line 116 @@ -1063,7 +1063,7 @@
Parameters:
Source:
- src/net/Net.js line 52 + src/net/Net.js line 52 @@ -1130,9 +1130,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1149,7 +1149,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1178,7 +1178,7 @@
Returns:
- + diff --git a/docs/Phaser.Particle.html b/docs/Phaser.Particle.html index 27369c1b1..70c0f0d2f 100644 --- a/docs/Phaser.Particle.html +++ b/docs/Phaser.Particle.html @@ -6,7 +6,7 @@ Phaser CE Class: Particle - + @@ -338,7 +338,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 19 + src/gameobjects/Particle.js line 19 @@ -474,7 +474,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -575,7 +575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -652,7 +652,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 51 + src/gameobjects/Particle.js line 51 @@ -742,7 +742,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -833,7 +833,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -920,7 +920,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 45 + src/gameobjects/Particle.js line 45 @@ -1094,7 +1094,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1171,7 +1171,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 27 + src/gameobjects/Particle.js line 27 @@ -1265,7 +1265,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1368,7 +1368,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1548,7 +1548,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1635,7 +1635,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1722,7 +1722,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -2073,7 +2073,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2257,7 +2257,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2343,7 +2343,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2430,7 +2430,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2517,7 +2517,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2690,7 +2690,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2877,7 +2877,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2963,7 +2963,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -3054,7 +3054,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -3147,7 +3147,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3238,7 +3238,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3329,7 +3329,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3416,7 +3416,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3502,7 +3502,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3596,7 +3596,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3682,7 +3682,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -3778,7 +3778,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3866,7 +3866,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3953,7 +3953,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -4044,7 +4044,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -4137,7 +4137,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4223,7 +4223,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -4325,7 +4325,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4412,7 +4412,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4502,7 +4502,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4591,7 +4591,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -4685,7 +4685,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4772,7 +4772,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4860,7 +4860,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4948,7 +4948,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -5034,7 +5034,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -5121,7 +5121,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -5210,7 +5210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5299,7 +5299,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5385,7 +5385,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5472,7 +5472,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5560,7 +5560,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5646,7 +5646,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5732,7 +5732,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5819,7 +5819,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5906,7 +5906,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5993,7 +5993,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -6082,7 +6082,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6171,7 +6171,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6248,7 +6248,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 33 + src/gameobjects/Particle.js line 33 @@ -6336,7 +6336,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6424,7 +6424,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6518,7 +6518,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6606,7 +6606,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6692,7 +6692,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6785,7 +6785,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6878,7 +6878,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6965,7 +6965,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -7051,7 +7051,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7137,7 +7137,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7223,7 +7223,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7322,7 +7322,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7408,7 +7408,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -7496,7 +7496,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7588,7 +7588,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7679,7 +7679,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7770,7 +7770,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -7861,7 +7861,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7952,7 +7952,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -8038,7 +8038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -8125,7 +8125,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -8212,7 +8212,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -8301,7 +8301,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8438,7 +8438,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8629,7 +8629,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8972,7 +8972,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -9316,7 +9316,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9436,7 +9436,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9603,7 +9603,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9829,7 +9829,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9973,7 +9973,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -10092,7 +10092,7 @@

Source:
- src/pixi/display/DisplayObject.js line 255 + src/pixi/display/DisplayObject.js line 255 @@ -10337,7 +10337,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -10513,7 +10513,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10680,7 +10680,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10847,7 +10847,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10964,7 +10964,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -11131,7 +11131,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -11252,7 +11252,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -11537,7 +11537,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11633,7 +11633,7 @@

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

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11861,7 +11861,7 @@

Source:
- src/gameobjects/Particle.js line 102 + src/gameobjects/Particle.js line 102 @@ -12020,7 +12020,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12326,7 +12326,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12443,7 +12443,7 @@

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

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

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12796,7 +12796,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12963,7 +12963,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -13154,7 +13154,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13387,7 +13387,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 141 + src/gameobjects/Particle.js line 141 @@ -13504,7 +13504,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13697,7 +13697,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13862,7 +13862,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -13982,7 +13982,7 @@

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

Source:
- src/gameobjects/Particle.js line 111 + src/gameobjects/Particle.js line 111 @@ -14257,7 +14257,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14401,7 +14401,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -14545,7 +14545,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14653,7 +14653,7 @@

Source:
- src/gameobjects/Particle.js line 126 + src/gameobjects/Particle.js line 126 @@ -14890,7 +14890,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -15090,7 +15090,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -15257,7 +15257,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -15400,7 +15400,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -15613,7 +15613,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -15728,7 +15728,7 @@

Source:
- src/gameobjects/Particle.js line 64 + src/gameobjects/Particle.js line 64 @@ -15821,7 +15821,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -15941,7 +15941,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -16104,7 +16104,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -16173,9 +16173,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -16192,7 +16192,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -16221,7 +16221,7 @@
Returns:
- + diff --git a/docs/Phaser.Particles.Arcade.Emitter.html b/docs/Phaser.Particles.Arcade.Emitter.html index b1e4dc573..d2465eaae 100644 --- a/docs/Phaser.Particles.Arcade.Emitter.html +++ b/docs/Phaser.Particles.Arcade.Emitter.html @@ -6,7 +6,7 @@ Phaser CE Class: Emitter - + @@ -368,7 +368,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 20 + src/particles/arcade/Emitter.js line 20 @@ -505,7 +505,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -591,7 +591,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -668,7 +668,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 139 + src/particles/arcade/Emitter.js line 139 @@ -757,7 +757,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -834,7 +834,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 156 + src/particles/arcade/Emitter.js line 156 @@ -911,7 +911,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 57 + src/particles/arcade/Emitter.js line 57 @@ -988,7 +988,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 217 + src/particles/arcade/Emitter.js line 217 @@ -1065,7 +1065,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 212 + src/particles/arcade/Emitter.js line 212 @@ -1142,7 +1142,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 191 + src/particles/arcade/Emitter.js line 191 @@ -1224,7 +1224,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1169 + src/particles/arcade/Emitter.js line 1169 @@ -1301,7 +1301,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 173 + src/particles/arcade/Emitter.js line 173 @@ -1394,7 +1394,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1481,7 +1481,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1569,7 +1569,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1657,7 +1657,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1743,7 +1743,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1837,7 +1837,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -2073,7 +2073,7 @@
Properties
Source:
- src/particles/arcade/Emitter.js line 238 + src/particles/arcade/Emitter.js line 238 @@ -2156,7 +2156,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1221 + src/particles/arcade/Emitter.js line 1221 @@ -2242,7 +2242,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -2321,7 +2321,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 199 + src/particles/arcade/Emitter.js line 199 @@ -2400,7 +2400,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 207 + src/particles/arcade/Emitter.js line 207 @@ -2488,7 +2488,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -2575,7 +2575,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -2673,7 +2673,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2759,7 +2759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2850,7 +2850,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2938,7 +2938,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 162 + src/particles/arcade/Emitter.js line 162 @@ -3108,7 +3108,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -3185,7 +3185,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1032 + src/particles/arcade/Emitter.js line 1032 @@ -3275,7 +3275,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -3357,7 +3357,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1082 + src/particles/arcade/Emitter.js line 1082 @@ -3453,7 +3453,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3530,7 +3530,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1056 + src/particles/arcade/Emitter.js line 1056 @@ -3618,7 +3618,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3704,7 +3704,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -3792,7 +3792,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -3874,7 +3874,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1130 + src/particles/arcade/Emitter.js line 1130 @@ -3960,7 +3960,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -4044,7 +4044,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 168 + src/particles/arcade/Emitter.js line 168 @@ -4121,7 +4121,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1195 + src/particles/arcade/Emitter.js line 1195 @@ -4210,7 +4210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -4287,7 +4287,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 69 + src/particles/arcade/Emitter.js line 69 @@ -4371,7 +4371,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 134 + src/particles/arcade/Emitter.js line 134 @@ -4448,7 +4448,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 26 + src/particles/arcade/Emitter.js line 26 @@ -4532,7 +4532,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 105 + src/particles/arcade/Emitter.js line 105 @@ -4609,7 +4609,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 93 + src/particles/arcade/Emitter.js line 93 @@ -4693,7 +4693,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 122 + src/particles/arcade/Emitter.js line 122 @@ -4777,7 +4777,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 81 + src/particles/arcade/Emitter.js line 81 @@ -4854,7 +4854,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 63 + src/particles/arcade/Emitter.js line 63 @@ -4938,7 +4938,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 128 + src/particles/arcade/Emitter.js line 128 @@ -5022,7 +5022,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 99 + src/particles/arcade/Emitter.js line 99 @@ -5099,7 +5099,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 87 + src/particles/arcade/Emitter.js line 87 @@ -5176,7 +5176,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 116 + src/particles/arcade/Emitter.js line 116 @@ -5253,7 +5253,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 75 + src/particles/arcade/Emitter.js line 75 @@ -5335,7 +5335,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 39 + src/particles/arcade/Emitter.js line 39 @@ -5412,7 +5412,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 179 + src/particles/arcade/Emitter.js line 179 @@ -5502,7 +5502,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -5592,7 +5592,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -5682,7 +5682,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -5773,7 +5773,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -5859,7 +5859,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -5936,7 +5936,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1182 + src/particles/arcade/Emitter.js line 1182 @@ -6025,7 +6025,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -6102,7 +6102,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 185 + src/particles/arcade/Emitter.js line 185 @@ -6179,7 +6179,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 223 + src/particles/arcade/Emitter.js line 223 @@ -6256,7 +6256,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 145 + src/particles/arcade/Emitter.js line 145 @@ -6333,7 +6333,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 150 + src/particles/arcade/Emitter.js line 150 @@ -6410,7 +6410,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 229 + src/particles/arcade/Emitter.js line 229 @@ -6500,7 +6500,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -6587,7 +6587,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -6680,7 +6680,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -6762,7 +6762,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 51 + src/particles/arcade/Emitter.js line 51 @@ -6849,7 +6849,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -6937,7 +6937,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -7014,7 +7014,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1208 + src/particles/arcade/Emitter.js line 1208 @@ -7101,7 +7101,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -7183,7 +7183,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1143 + src/particles/arcade/Emitter.js line 1143 @@ -7271,7 +7271,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -7360,7 +7360,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -7437,7 +7437,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 110 + src/particles/arcade/Emitter.js line 110 @@ -7519,7 +7519,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1156 + src/particles/arcade/Emitter.js line 1156 @@ -7605,7 +7605,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -7687,7 +7687,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 45 + src/particles/arcade/Emitter.js line 45 @@ -7773,7 +7773,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -7864,7 +7864,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -7946,7 +7946,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1066 + src/particles/arcade/Emitter.js line 1066 @@ -8038,7 +8038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -8129,7 +8129,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -8220,7 +8220,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -8311,7 +8311,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -8402,7 +8402,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -8488,7 +8488,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -8570,7 +8570,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1098 + src/particles/arcade/Emitter.js line 1098 @@ -8652,7 +8652,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1114 + src/particles/arcade/Emitter.js line 1114 @@ -8739,7 +8739,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -8977,7 +8977,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -9255,7 +9255,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -9497,7 +9497,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -9664,7 +9664,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -9855,7 +9855,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -10086,7 +10086,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -10257,7 +10257,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -10652,7 +10652,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -10995,7 +10995,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -11339,7 +11339,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -11530,7 +11530,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -11680,7 +11680,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 1007 + src/particles/arcade/Emitter.js line 1007 @@ -11847,7 +11847,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -12110,7 +12110,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -12330,7 +12330,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -12521,7 +12521,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -12837,7 +12837,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -13139,7 +13139,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -13436,7 +13436,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -13603,7 +13603,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -13790,7 +13790,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -13907,7 +13907,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -14024,7 +14024,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -14418,7 +14418,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -14825,7 +14825,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -15038,7 +15038,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -15205,7 +15205,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -15294,7 +15294,7 @@

Source:
- src/particles/arcade/Emitter.js line 800 + src/particles/arcade/Emitter.js line 800 @@ -15510,7 +15510,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -15776,7 +15776,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 619 + src/particles/arcade/Emitter.js line 619 @@ -15994,7 +15994,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 478 + src/particles/arcade/Emitter.js line 478 @@ -16222,7 +16222,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -16566,7 +16566,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 500 + src/particles/arcade/Emitter.js line 500 @@ -16870,7 +16870,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -17108,7 +17108,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -17346,7 +17346,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -17584,7 +17584,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -17829,7 +17829,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -18137,7 +18137,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -18306,7 +18306,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -18427,7 +18427,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -18609,7 +18609,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -18778,7 +18778,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -18945,7 +18945,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -19112,7 +19112,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -19363,7 +19363,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -19554,7 +19554,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -19913,7 +19913,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -20272,7 +20272,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -20670,7 +20670,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -20921,7 +20921,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -21088,7 +21088,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -21205,7 +21205,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -21432,7 +21432,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -21660,7 +21660,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -21778,7 +21778,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -21970,7 +21970,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -22357,7 +22357,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -22470,7 +22470,7 @@

Source:
- src/particles/arcade/Emitter.js line 447 + src/particles/arcade/Emitter.js line 447 @@ -22587,7 +22587,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -22942,7 +22942,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 382 + src/particles/arcade/Emitter.js line 382 @@ -23165,7 +23165,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -23332,7 +23332,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -23499,7 +23499,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -23739,7 +23739,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -23828,7 +23828,7 @@

Source:
- src/particles/arcade/Emitter.js line 1232 + src/particles/arcade/Emitter.js line 1232 @@ -23945,7 +23945,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -24038,7 +24038,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -24127,7 +24127,7 @@

Source:
- src/particles/arcade/Emitter.js line 1241 + src/particles/arcade/Emitter.js line 1241 @@ -24392,7 +24392,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -24662,7 +24662,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -24939,7 +24939,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -25082,7 +25082,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -25249,7 +25249,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -25440,7 +25440,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -25584,7 +25584,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -25777,7 +25777,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -26131,7 +26131,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -26437,7 +26437,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -26625,7 +26625,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -26743,7 +26743,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -26832,7 +26832,7 @@

Source:
- src/particles/arcade/Emitter.js line 463 + src/particles/arcade/Emitter.js line 463 @@ -26949,7 +26949,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -27152,7 +27152,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -27295,7 +27295,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -27711,7 +27711,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -28093,7 +28093,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -28451,7 +28451,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -28767,7 +28767,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 888 + src/particles/arcade/Emitter.js line 888 @@ -29041,7 +29041,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 981 + src/particles/arcade/Emitter.js line 981 @@ -29232,7 +29232,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -29551,7 +29551,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -29769,7 +29769,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 868 + src/particles/arcade/Emitter.js line 868 @@ -30189,7 +30189,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 930 + src/particles/arcade/Emitter.js line 930 @@ -30371,7 +30371,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 813 + src/particles/arcade/Emitter.js line 813 @@ -30589,7 +30589,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 830 + src/particles/arcade/Emitter.js line 830 @@ -30807,7 +30807,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 849 + src/particles/arcade/Emitter.js line 849 @@ -30925,7 +30925,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -31132,7 +31132,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -31451,7 +31451,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 551 + src/particles/arcade/Emitter.js line 551 @@ -31691,7 +31691,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -31859,7 +31859,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -32026,7 +32026,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -32169,7 +32169,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -32382,7 +32382,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -32497,7 +32497,7 @@

Source:
- src/particles/arcade/Emitter.js line 310 + src/particles/arcade/Emitter.js line 310 @@ -32590,7 +32590,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -32779,7 +32779,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -32899,7 +32899,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -33090,7 +33090,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -33133,9 +33133,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -33152,7 +33152,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -33181,7 +33181,7 @@
Parameters:
- + diff --git a/docs/Phaser.Particles.Arcade.html b/docs/Phaser.Particles.Arcade.html index 1808e7f5c..f9ca402ca 100644 --- a/docs/Phaser.Particles.Arcade.html +++ b/docs/Phaser.Particles.Arcade.html @@ -6,7 +6,7 @@ Phaser CE Class: Arcade - + @@ -180,7 +180,7 @@

Source:
- src/particles/arcade/ArcadeParticles.js line 12 + src/particles/arcade/ArcadeParticles.js line 12 @@ -244,9 +244,9 @@

Classes

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -263,7 +263,7 @@

Classes

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -292,7 +292,7 @@

Classes

- + diff --git a/docs/Phaser.Particles.html b/docs/Phaser.Particles.html index ae85be7ac..e3ad57697 100644 --- a/docs/Phaser.Particles.html +++ b/docs/Phaser.Particles.html @@ -6,7 +6,7 @@ Phaser CE Class: Particles - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/particles/Particles.js line 14 + src/particles/Particles.js line 14 @@ -342,7 +342,7 @@
Type:
Source:
- src/particles/Particles.js line 24 + src/particles/Particles.js line 24 @@ -419,7 +419,7 @@
Type:
Source:
- src/particles/Particles.js line 19 + src/particles/Particles.js line 19 @@ -496,7 +496,7 @@
Type:
Source:
- src/particles/Particles.js line 30 + src/particles/Particles.js line 30 @@ -624,7 +624,7 @@
Parameters:
Source:
- src/particles/Particles.js line 36 + src/particles/Particles.js line 36 @@ -782,7 +782,7 @@
Parameters:
Source:
- src/particles/Particles.js line 47 + src/particles/Particles.js line 47 @@ -825,9 +825,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -844,7 +844,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -873,7 +873,7 @@
Parameters:
- + diff --git a/docs/Phaser.Path.html b/docs/Phaser.Path.html index 7e70cabdc..a972f9ca4 100644 --- a/docs/Phaser.Path.html +++ b/docs/Phaser.Path.html @@ -6,7 +6,7 @@ Phaser CE Class: Path - + @@ -327,7 +327,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 18 + src/plugins/path/Path.js line 18 @@ -432,7 +432,7 @@
Type:
Source:
- src/plugins/path/Path.js line 41 + src/plugins/path/Path.js line 41 @@ -509,7 +509,7 @@
Type:
Source:
- src/plugins/path/Path.js line 31 + src/plugins/path/Path.js line 31 @@ -586,7 +586,7 @@
Type:
Source:
- src/plugins/path/Path.js line 26 + src/plugins/path/Path.js line 26 @@ -663,7 +663,7 @@
Type:
Source:
- src/plugins/path/Path.js line 46 + src/plugins/path/Path.js line 46 @@ -740,7 +740,7 @@
Type:
Source:
- src/plugins/path/Path.js line 36 + src/plugins/path/Path.js line 36 @@ -1128,7 +1128,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 205 + src/plugins/path/Path.js line 205 @@ -1286,7 +1286,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 516 + src/plugins/path/Path.js line 516 @@ -1394,7 +1394,7 @@

Source:
- src/plugins/path/Path.js line 185 + src/plugins/path/Path.js line 185 @@ -1611,7 +1611,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 148 + src/plugins/path/Path.js line 148 @@ -1825,7 +1825,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 693 + src/plugins/path/Path.js line 693 @@ -1983,7 +1983,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 343 + src/plugins/path/Path.js line 343 @@ -2162,7 +2162,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 429 + src/plugins/path/Path.js line 429 @@ -2346,7 +2346,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 360 + src/plugins/path/Path.js line 360 @@ -2505,7 +2505,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 405 + src/plugins/path/Path.js line 405 @@ -2719,7 +2719,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 319 + src/plugins/path/Path.js line 319 @@ -2827,7 +2827,7 @@

Source:
- src/plugins/path/Path.js line 536 + src/plugins/path/Path.js line 536 @@ -2987,7 +2987,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 481 + src/plugins/path/Path.js line 481 @@ -3194,7 +3194,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 552 + src/plugins/path/Path.js line 552 @@ -3364,7 +3364,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 240 + src/plugins/path/Path.js line 240 @@ -3546,7 +3546,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 302 + src/plugins/path/Path.js line 302 @@ -3846,7 +3846,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 260 + src/plugins/path/Path.js line 260 @@ -3955,7 +3955,7 @@

Source:
- src/plugins/path/Path.js line 628 + src/plugins/path/Path.js line 628 @@ -4063,7 +4063,7 @@

Source:
- src/plugins/path/Path.js line 799 + src/plugins/path/Path.js line 799 @@ -4224,7 +4224,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 284 + src/plugins/path/Path.js line 284 @@ -4291,9 +4291,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -4310,7 +4310,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -4339,7 +4339,7 @@
Returns:
- + diff --git a/docs/Phaser.PathFollower.html b/docs/Phaser.PathFollower.html index 3cb615223..c7562c22c 100644 --- a/docs/Phaser.PathFollower.html +++ b/docs/Phaser.PathFollower.html @@ -6,7 +6,7 @@ Phaser CE Class: PathFollower - + @@ -447,7 +447,7 @@
Parameters:
Source:
- src/plugins/path/PathFollower.js line 25 + src/plugins/path/PathFollower.js line 25 @@ -504,9 +504,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -523,7 +523,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -552,7 +552,7 @@
Parameters:
- + diff --git a/docs/Phaser.PathPoint.html b/docs/Phaser.PathPoint.html index d75e5ccc8..ffae63a65 100644 --- a/docs/Phaser.PathPoint.html +++ b/docs/Phaser.PathPoint.html @@ -6,7 +6,7 @@ Phaser CE Class: PathPoint - + @@ -508,7 +508,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 22 + src/plugins/path/PathPoint.js line 22 @@ -609,7 +609,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 118 + src/plugins/path/PathPoint.js line 118 @@ -682,7 +682,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 100 + src/plugins/path/PathPoint.js line 100 @@ -755,7 +755,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 106 + src/plugins/path/PathPoint.js line 106 @@ -828,7 +828,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 112 + src/plugins/path/PathPoint.js line 112 @@ -905,7 +905,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 84 + src/plugins/path/PathPoint.js line 84 @@ -982,7 +982,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 62 + src/plugins/path/PathPoint.js line 62 @@ -1059,7 +1059,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 67 + src/plugins/path/PathPoint.js line 67 @@ -1136,7 +1136,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 72 + src/plugins/path/PathPoint.js line 72 @@ -1213,7 +1213,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 90 + src/plugins/path/PathPoint.js line 90 @@ -1290,7 +1290,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 78 + src/plugins/path/PathPoint.js line 78 @@ -1367,7 +1367,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 57 + src/plugins/path/PathPoint.js line 57 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 52 + src/plugins/path/PathPoint.js line 52 @@ -1521,7 +1521,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 42 + src/plugins/path/PathPoint.js line 42 @@ -1598,7 +1598,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 47 + src/plugins/path/PathPoint.js line 47 @@ -1675,7 +1675,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 32 + src/plugins/path/PathPoint.js line 32 @@ -1752,7 +1752,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 37 + src/plugins/path/PathPoint.js line 37 @@ -1892,7 +1892,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 174 + src/plugins/path/PathPoint.js line 174 @@ -2051,7 +2051,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 189 + src/plugins/path/PathPoint.js line 189 @@ -2307,7 +2307,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 214 + src/plugins/path/PathPoint.js line 214 @@ -2489,7 +2489,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 154 + src/plugins/path/PathPoint.js line 154 @@ -2757,7 +2757,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 122 + src/plugins/path/PathPoint.js line 122 @@ -2865,7 +2865,7 @@

Source:
- src/plugins/path/PathPoint.js line 236 + src/plugins/path/PathPoint.js line 236 @@ -2932,9 +2932,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2951,7 +2951,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2980,7 +2980,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Arcade.Body.html b/docs/Phaser.Physics.Arcade.Body.html index 9534c7175..462484934 100644 --- a/docs/Phaser.Physics.Arcade.Body.html +++ b/docs/Phaser.Physics.Arcade.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 15 + src/physics/arcade/Body.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 161 + src/physics/arcade/Body.js line 161 @@ -420,7 +420,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 167 + src/physics/arcade/Body.js line 167 @@ -504,7 +504,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 178 + src/physics/arcade/Body.js line 178 @@ -588,7 +588,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 79 + src/physics/arcade/Body.js line 79 @@ -665,7 +665,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 295 + src/physics/arcade/Body.js line 295 @@ -742,7 +742,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 271 + src/physics/arcade/Body.js line 271 @@ -819,7 +819,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 277 + src/physics/arcade/Body.js line 277 @@ -896,7 +896,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 265 + src/physics/arcade/Body.js line 265 @@ -974,7 +974,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 402 + src/physics/arcade/Body.js line 402 @@ -1051,7 +1051,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1383 + src/physics/arcade/Body.js line 1383 @@ -1128,7 +1128,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 188 + src/physics/arcade/Body.js line 188 @@ -1205,7 +1205,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 140 + src/physics/arcade/Body.js line 140 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 382 + src/physics/arcade/Body.js line 382 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 373 + src/physics/arcade/Body.js line 373 @@ -1440,7 +1440,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 335 + src/physics/arcade/Body.js line 335 @@ -1518,7 +1518,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 343 + src/physics/arcade/Body.js line 343 @@ -1595,7 +1595,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 156 + src/physics/arcade/Body.js line 156 @@ -1672,7 +1672,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 414 + src/physics/arcade/Body.js line 414 @@ -1749,7 +1749,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 172 + src/physics/arcade/Body.js line 172 @@ -1826,7 +1826,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 367 + src/physics/arcade/Body.js line 367 @@ -1910,7 +1910,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 36 + src/physics/arcade/Body.js line 36 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 307 + src/physics/arcade/Body.js line 307 @@ -2064,7 +2064,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 259 + src/physics/arcade/Body.js line 259 @@ -2141,7 +2141,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 25 + src/physics/arcade/Body.js line 25 @@ -2218,7 +2218,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 183 + src/physics/arcade/Body.js line 183 @@ -2295,7 +2295,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 134 + src/physics/arcade/Body.js line 134 @@ -2372,7 +2372,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 128 + src/physics/arcade/Body.js line 128 @@ -2449,7 +2449,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 104 + src/physics/arcade/Body.js line 104 @@ -2526,7 +2526,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 313 + src/physics/arcade/Body.js line 313 @@ -2604,7 +2604,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 45 + src/physics/arcade/Body.js line 45 @@ -2681,7 +2681,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 434 + src/physics/arcade/Body.js line 434 @@ -2758,7 +2758,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1340 + src/physics/arcade/Body.js line 1340 @@ -2842,7 +2842,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 289 + src/physics/arcade/Body.js line 289 @@ -2926,7 +2926,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 283 + src/physics/arcade/Body.js line 283 @@ -3003,7 +3003,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 254 + src/physics/arcade/Body.js line 254 @@ -3080,7 +3080,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 479 + src/physics/arcade/Body.js line 479 @@ -3157,7 +3157,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 484 + src/physics/arcade/Body.js line 484 @@ -3245,7 +3245,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 327 + src/physics/arcade/Body.js line 327 @@ -3322,7 +3322,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 151 + src/physics/arcade/Body.js line 151 @@ -3399,7 +3399,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 61 + src/physics/arcade/Body.js line 61 @@ -3485,7 +3485,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 228 + src/physics/arcade/Body.js line 228 @@ -3562,7 +3562,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 474 + src/physics/arcade/Body.js line 474 @@ -3648,7 +3648,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 248 + src/physics/arcade/Body.js line 248 @@ -3731,7 +3731,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 208 + src/physics/arcade/Body.js line 208 @@ -3808,7 +3808,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 361 + src/physics/arcade/Body.js line 361 @@ -3885,7 +3885,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 349 + src/physics/arcade/Body.js line 349 @@ -3962,7 +3962,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 355 + src/physics/arcade/Body.js line 355 @@ -4039,7 +4039,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 67 + src/physics/arcade/Body.js line 67 @@ -4116,7 +4116,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 92 + src/physics/arcade/Body.js line 92 @@ -4193,7 +4193,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 73 + src/physics/arcade/Body.js line 73 @@ -4273,7 +4273,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 56 + src/physics/arcade/Body.js line 56 @@ -4350,7 +4350,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1354 + src/physics/arcade/Body.js line 1354 @@ -4428,7 +4428,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 86 + src/physics/arcade/Body.js line 86 @@ -4505,7 +4505,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 419 + src/physics/arcade/Body.js line 419 @@ -4582,7 +4582,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 116 + src/physics/arcade/Body.js line 116 @@ -4659,7 +4659,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 110 + src/physics/arcade/Body.js line 110 @@ -4736,7 +4736,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 301 + src/physics/arcade/Body.js line 301 @@ -4813,7 +4813,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 20 + src/physics/arcade/Body.js line 20 @@ -4890,7 +4890,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 439 + src/physics/arcade/Body.js line 439 @@ -4970,7 +4970,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 429 + src/physics/arcade/Body.js line 429 @@ -5048,7 +5048,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 409 + src/physics/arcade/Body.js line 409 @@ -5125,7 +5125,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1369 + src/physics/arcade/Body.js line 1369 @@ -5203,7 +5203,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 389 + src/physics/arcade/Body.js line 389 @@ -5280,7 +5280,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 30 + src/physics/arcade/Body.js line 30 @@ -5357,7 +5357,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 145 + src/physics/arcade/Body.js line 145 @@ -5434,7 +5434,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 395 + src/physics/arcade/Body.js line 395 @@ -5511,7 +5511,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 98 + src/physics/arcade/Body.js line 98 @@ -5590,7 +5590,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 196 + src/physics/arcade/Body.js line 196 @@ -5667,7 +5667,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1398 + src/physics/arcade/Body.js line 1398 @@ -5744,7 +5744,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1417 + src/physics/arcade/Body.js line 1417 @@ -5822,7 +5822,7 @@

Source:
- src/physics/arcade/Body.js line 827 + src/physics/arcade/Body.js line 827 @@ -5930,7 +5930,7 @@

Source:
- src/physics/arcade/Body.js line 1258 + src/physics/arcade/Body.js line 1258 @@ -6038,7 +6038,7 @@

Source:
- src/physics/arcade/Body.js line 1270 + src/physics/arcade/Body.js line 1270 @@ -6146,7 +6146,7 @@

Source:
- src/physics/arcade/Body.js line 1282 + src/physics/arcade/Body.js line 1282 @@ -6254,7 +6254,7 @@

Source:
- src/physics/arcade/Body.js line 1294 + src/physics/arcade/Body.js line 1294 @@ -6362,7 +6362,7 @@

Source:
- src/physics/arcade/Body.js line 1306 + src/physics/arcade/Body.js line 1306 @@ -6472,7 +6472,7 @@

Source:
- src/physics/arcade/Body.js line 1318 + src/physics/arcade/Body.js line 1318 @@ -6607,7 +6607,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1188 + src/physics/arcade/Body.js line 1188 @@ -6789,7 +6789,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1208 + src/physics/arcade/Body.js line 1208 @@ -7040,7 +7040,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 877 + src/physics/arcade/Body.js line 877 @@ -7288,7 +7288,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 951 + src/physics/arcade/Body.js line 951 @@ -7396,7 +7396,7 @@

Source:
- src/physics/arcade/Body.js line 1234 + src/physics/arcade/Body.js line 1234 @@ -7504,7 +7504,7 @@

Source:
- src/physics/arcade/Body.js line 1222 + src/physics/arcade/Body.js line 1222 @@ -7612,7 +7612,7 @@

Source:
- src/physics/arcade/Body.js line 1246 + src/physics/arcade/Body.js line 1246 @@ -7720,7 +7720,7 @@

Source:
- src/physics/arcade/Body.js line 741 + src/physics/arcade/Body.js line 741 @@ -7804,7 +7804,7 @@

Source:
- src/physics/arcade/Body.js line 576 + src/physics/arcade/Body.js line 576 @@ -8110,7 +8110,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1437 + src/physics/arcade/Body.js line 1437 @@ -8372,7 +8372,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1485 + src/physics/arcade/Body.js line 1485 @@ -8530,7 +8530,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1144 + src/physics/arcade/Body.js line 1144 @@ -8749,7 +8749,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1098 + src/physics/arcade/Body.js line 1098 @@ -9017,7 +9017,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1038 + src/physics/arcade/Body.js line 1038 @@ -9101,7 +9101,7 @@

Source:
- src/physics/arcade/Body.js line 1173 + src/physics/arcade/Body.js line 1173 @@ -9250,7 +9250,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 713 + src/physics/arcade/Body.js line 713 @@ -9334,7 +9334,7 @@

Source:
- src/physics/arcade/Body.js line 520 + src/physics/arcade/Body.js line 520 @@ -9418,7 +9418,7 @@

Source:
- src/physics/arcade/Body.js line 564 + src/physics/arcade/Body.js line 564 @@ -9502,7 +9502,7 @@

Source:
- src/physics/arcade/Body.js line 672 + src/physics/arcade/Body.js line 672 @@ -9545,9 +9545,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -9564,7 +9564,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -9593,7 +9593,7 @@

- + diff --git a/docs/Phaser.Physics.Arcade.TilemapCollision.html b/docs/Phaser.Physics.Arcade.TilemapCollision.html index 5c6c48219..00d6c20c4 100644 --- a/docs/Phaser.Physics.Arcade.TilemapCollision.html +++ b/docs/Phaser.Physics.Arcade.TilemapCollision.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapCollision - + @@ -181,7 +181,7 @@

Source:
- src/physics/arcade/TilemapCollision.js line 15 + src/physics/arcade/TilemapCollision.js line 15 @@ -286,7 +286,7 @@
Type:
Source:
- src/physics/arcade/TilemapCollision.js line 22 + src/physics/arcade/TilemapCollision.js line 22 @@ -319,9 +319,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -338,7 +338,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -367,7 +367,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.Arcade.html b/docs/Phaser.Physics.Arcade.html index b574c49c2..db94a5b69 100644 --- a/docs/Phaser.Physics.Arcade.html +++ b/docs/Phaser.Physics.Arcade.html @@ -6,7 +6,7 @@ Phaser CE Class: Arcade - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 14 + src/physics/arcade/World.js line 14 @@ -346,7 +346,7 @@
Type:
Source:
- src/physics/arcade/World.js line 131 + src/physics/arcade/World.js line 131 @@ -424,7 +424,7 @@
Type:
Source:
- src/physics/arcade/World.js line 107 + src/physics/arcade/World.js line 107 @@ -502,7 +502,7 @@
Type:
Source:
- src/physics/arcade/World.js line 115 + src/physics/arcade/World.js line 115 @@ -580,7 +580,7 @@
Type:
Source:
- src/physics/arcade/World.js line 99 + src/physics/arcade/World.js line 99 @@ -658,7 +658,7 @@
Type:
Source:
- src/physics/arcade/World.js line 123 + src/physics/arcade/World.js line 123 @@ -735,7 +735,7 @@
Type:
Source:
- src/physics/arcade/World.js line 29 + src/physics/arcade/World.js line 29 @@ -813,7 +813,7 @@
Type:
Source:
- src/physics/arcade/World.js line 36 + src/physics/arcade/World.js line 36 @@ -890,7 +890,7 @@
Type:
Source:
- src/physics/arcade/World.js line 57 + src/physics/arcade/World.js line 57 @@ -967,7 +967,7 @@
Type:
Source:
- src/physics/arcade/World.js line 19 + src/physics/arcade/World.js line 19 @@ -1044,7 +1044,7 @@
Type:
Source:
- src/physics/arcade/World.js line 24 + src/physics/arcade/World.js line 24 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/physics/arcade/World.js line 73 + src/physics/arcade/World.js line 73 @@ -1198,7 +1198,7 @@
Type:
Source:
- src/physics/arcade/World.js line 46 + src/physics/arcade/World.js line 46 @@ -1275,7 +1275,7 @@
Type:
Source:
- src/physics/arcade/World.js line 41 + src/physics/arcade/World.js line 41 @@ -1359,7 +1359,7 @@
Type:
Source:
- src/physics/arcade/World.js line 52 + src/physics/arcade/World.js line 52 @@ -1436,7 +1436,7 @@
Type:
Source:
- src/physics/arcade/World.js line 78 + src/physics/arcade/World.js line 78 @@ -1513,7 +1513,7 @@
Type:
Source:
- src/physics/arcade/World.js line 68 + src/physics/arcade/World.js line 68 @@ -1590,7 +1590,7 @@
Type:
Source:
- src/physics/arcade/World.js line 63 + src/physics/arcade/World.js line 63 @@ -1893,7 +1893,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1862 + src/physics/arcade/World.js line 1862 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1891 + src/physics/arcade/World.js line 1891 @@ -2597,7 +2597,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1921 + src/physics/arcade/World.js line 1921 @@ -2853,7 +2853,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1843 + src/physics/arcade/World.js line 1843 @@ -3108,7 +3108,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2111 + src/physics/arcade/World.js line 2111 @@ -3290,7 +3290,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2139 + src/physics/arcade/World.js line 2139 @@ -3545,7 +3545,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2185 + src/physics/arcade/World.js line 2185 @@ -3834,7 +3834,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2156 + src/physics/arcade/World.js line 2156 @@ -4016,7 +4016,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1161 + src/physics/arcade/World.js line 1161 @@ -4306,7 +4306,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2053 + src/physics/arcade/World.js line 2053 @@ -4680,7 +4680,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 363 + src/physics/arcade/World.js line 363 @@ -5039,7 +5039,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 261 + src/physics/arcade/World.js line 261 @@ -5336,7 +5336,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1951 + src/physics/arcade/World.js line 1951 @@ -5593,7 +5593,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2025 + src/physics/arcade/World.js line 2025 @@ -5884,7 +5884,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1998 + src/physics/arcade/World.js line 1998 @@ -6105,7 +6105,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 161 + src/physics/arcade/World.js line 161 @@ -6241,7 +6241,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 217 + src/physics/arcade/World.js line 217 @@ -6507,7 +6507,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2082 + src/physics/arcade/World.js line 2082 @@ -6845,7 +6845,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1658 + src/physics/arcade/World.js line 1658 @@ -7115,7 +7115,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1635 + src/physics/arcade/World.js line 1635 @@ -7322,7 +7322,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1367 + src/physics/arcade/World.js line 1367 @@ -7529,7 +7529,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1431 + src/physics/arcade/World.js line 1431 @@ -7711,7 +7711,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1097 + src/physics/arcade/World.js line 1097 @@ -8006,7 +8006,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1702 + src/physics/arcade/World.js line 1702 @@ -8302,7 +8302,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1736 + src/physics/arcade/World.js line 1736 @@ -8633,7 +8633,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1770 + src/physics/arcade/World.js line 1770 @@ -8987,7 +8987,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 322 + src/physics/arcade/World.js line 322 @@ -9217,7 +9217,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 135 + src/physics/arcade/World.js line 135 @@ -9301,7 +9301,7 @@

Source:
- src/physics/arcade/World.js line 150 + src/physics/arcade/World.js line 150 @@ -9482,7 +9482,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 510 + src/physics/arcade/World.js line 510 @@ -9641,7 +9641,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 489 + src/physics/arcade/World.js line 489 @@ -9824,7 +9824,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 426 + src/physics/arcade/World.js line 426 @@ -10007,7 +10007,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 447 + src/physics/arcade/World.js line 447 @@ -10190,7 +10190,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 468 + src/physics/arcade/World.js line 468 @@ -10348,7 +10348,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 241 + src/physics/arcade/World.js line 241 @@ -10580,7 +10580,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1805 + src/physics/arcade/World.js line 1805 @@ -10838,7 +10838,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1824 + src/physics/arcade/World.js line 1824 @@ -11043,7 +11043,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2214 + src/physics/arcade/World.js line 2214 @@ -11110,9 +11110,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -11129,7 +11129,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -11158,7 +11158,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.AABB.html b/docs/Phaser.Physics.Ninja.AABB.html index 4ec065a26..aeeb69a6f 100644 --- a/docs/Phaser.Physics.Ninja.AABB.html +++ b/docs/Phaser.Physics.Ninja.AABB.html @@ -6,7 +6,7 @@ Phaser CE Class: AABB - + @@ -327,7 +327,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 20 + src/physics/ninja/AABB.js line 20 @@ -432,7 +432,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 86 + src/physics/ninja/AABB.js line 86 @@ -547,7 +547,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 25 + src/physics/ninja/AABB.js line 25 @@ -624,7 +624,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 64 + src/physics/ninja/AABB.js line 64 @@ -701,7 +701,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 40 + src/physics/ninja/AABB.js line 40 @@ -778,7 +778,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 35 + src/physics/ninja/AABB.js line 35 @@ -855,7 +855,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 30 + src/physics/ninja/AABB.js line 30 @@ -932,7 +932,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 81 + src/physics/ninja/AABB.js line 81 @@ -1009,7 +1009,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 58 + src/physics/ninja/AABB.js line 58 @@ -1086,7 +1086,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 46 + src/physics/ninja/AABB.js line 46 @@ -1201,7 +1201,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 52 + src/physics/ninja/AABB.js line 52 @@ -1329,7 +1329,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 336 + src/physics/ninja/AABB.js line 336 @@ -1463,7 +1463,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 408 + src/physics/ninja/AABB.js line 408 @@ -1547,7 +1547,7 @@

Source:
- src/physics/ninja/AABB.js line 295 + src/physics/ninja/AABB.js line 295 @@ -1631,7 +1631,7 @@

Source:
- src/physics/ninja/AABB.js line 993 + src/physics/ninja/AABB.js line 993 @@ -1715,7 +1715,7 @@

Source:
- src/physics/ninja/AABB.js line 108 + src/physics/ninja/AABB.js line 108 @@ -1921,7 +1921,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 702 + src/physics/ninja/AABB.js line 702 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 622 + src/physics/ninja/AABB.js line 622 @@ -2381,7 +2381,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 569 + src/physics/ninja/AABB.js line 569 @@ -2611,7 +2611,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 834 + src/physics/ninja/AABB.js line 834 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 755 + src/physics/ninja/AABB.js line 755 @@ -3071,7 +3071,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 935 + src/physics/ninja/AABB.js line 935 @@ -3301,7 +3301,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 885 + src/physics/ninja/AABB.js line 885 @@ -3531,7 +3531,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 491 + src/physics/ninja/AABB.js line 491 @@ -3761,7 +3761,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 510 + src/physics/ninja/AABB.js line 510 @@ -4015,7 +4015,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 1003 + src/physics/ninja/AABB.js line 1003 @@ -4221,7 +4221,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 128 + src/physics/ninja/AABB.js line 128 @@ -4451,7 +4451,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 248 + src/physics/ninja/AABB.js line 248 @@ -4657,7 +4657,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 202 + src/physics/ninja/AABB.js line 202 @@ -4863,7 +4863,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 467 + src/physics/ninja/AABB.js line 467 @@ -4967,7 +4967,7 @@

Source:
- src/physics/ninja/AABB.js line 216 + src/physics/ninja/AABB.js line 216 @@ -5010,9 +5010,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -5029,7 +5029,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -5058,7 +5058,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Body.html b/docs/Phaser.Physics.Ninja.Body.html index 3d16ff4b7..eea606eb5 100644 --- a/docs/Phaser.Physics.Ninja.Body.html +++ b/docs/Phaser.Physics.Ninja.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -563,7 +563,7 @@

Parameters:
Source:
- src/physics/ninja/Body.js line 23 + src/physics/ninja/Body.js line 23 @@ -668,7 +668,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 54 + src/physics/ninja/Body.js line 54 @@ -745,7 +745,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 535 + src/physics/ninja/Body.js line 535 @@ -822,7 +822,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 496 + src/physics/ninja/Body.js line 496 @@ -906,7 +906,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 95 + src/physics/ninja/Body.js line 95 @@ -984,7 +984,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 125 + src/physics/ninja/Body.js line 125 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 64 + src/physics/ninja/Body.js line 64 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 118 + src/physics/ninja/Body.js line 118 @@ -1222,7 +1222,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 77 + src/physics/ninja/Body.js line 77 @@ -1299,7 +1299,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 106 + src/physics/ninja/Body.js line 106 @@ -1383,7 +1383,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 83 + src/physics/ninja/Body.js line 83 @@ -1460,7 +1460,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 39 + src/physics/ninja/Body.js line 39 @@ -1544,7 +1544,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 89 + src/physics/ninja/Body.js line 89 @@ -1621,7 +1621,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 483 + src/physics/ninja/Body.js line 483 @@ -1698,7 +1698,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 112 + src/physics/ninja/Body.js line 112 @@ -1782,7 +1782,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 144 + src/physics/ninja/Body.js line 144 @@ -1859,7 +1859,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 509 + src/physics/ninja/Body.js line 509 @@ -1936,7 +1936,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 69 + src/physics/ninja/Body.js line 69 @@ -2013,7 +2013,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 522 + src/physics/ninja/Body.js line 522 @@ -2090,7 +2090,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 34 + src/physics/ninja/Body.js line 34 @@ -2167,7 +2167,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 49 + src/physics/ninja/Body.js line 49 @@ -2244,7 +2244,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 59 + src/physics/ninja/Body.js line 59 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 132 + src/physics/ninja/Body.js line 132 @@ -2399,7 +2399,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 44 + src/physics/ninja/Body.js line 44 @@ -2476,7 +2476,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 100 + src/physics/ninja/Body.js line 100 @@ -2553,7 +2553,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 138 + src/physics/ninja/Body.js line 138 @@ -2630,7 +2630,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 470 + src/physics/ninja/Body.js line 470 @@ -2707,7 +2707,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 438 + src/physics/ninja/Body.js line 438 @@ -2784,7 +2784,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 454 + src/physics/ninja/Body.js line 454 @@ -2862,7 +2862,7 @@

Source:
- src/physics/ninja/Body.js line 381 + src/physics/ninja/Body.js line 381 @@ -2970,7 +2970,7 @@

Source:
- src/physics/ninja/Body.js line 391 + src/physics/ninja/Body.js line 391 @@ -3078,7 +3078,7 @@

Source:
- src/physics/ninja/Body.js line 401 + src/physics/ninja/Body.js line 401 @@ -3186,7 +3186,7 @@

Source:
- src/physics/ninja/Body.js line 411 + src/physics/ninja/Body.js line 411 @@ -3294,7 +3294,7 @@

Source:
- src/physics/ninja/Body.js line 421 + src/physics/ninja/Body.js line 421 @@ -3378,7 +3378,7 @@

Source:
- src/physics/ninja/Body.js line 214 + src/physics/ninja/Body.js line 214 @@ -3462,7 +3462,7 @@

Source:
- src/physics/ninja/Body.js line 184 + src/physics/ninja/Body.js line 184 @@ -3728,7 +3728,7 @@
Parameters:
Source:
- src/physics/ninja/Body.js line 548 + src/physics/ninja/Body.js line 548 @@ -3812,7 +3812,7 @@

Source:
- src/physics/ninja/Body.js line 365 + src/physics/ninja/Body.js line 365 @@ -3896,7 +3896,7 @@

Source:
- src/physics/ninja/Body.js line 257 + src/physics/ninja/Body.js line 257 @@ -3939,9 +3939,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3958,7 +3958,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3987,7 +3987,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Circle.html b/docs/Phaser.Physics.Ninja.Circle.html index 2cbf643a8..71c082d82 100644 --- a/docs/Phaser.Physics.Ninja.Circle.html +++ b/docs/Phaser.Physics.Ninja.Circle.html @@ -6,7 +6,7 @@ Phaser CE Class: Circle - + @@ -303,7 +303,7 @@

Parameters:
Source:
- src/physics/ninja/Circle.js line 19 + src/physics/ninja/Circle.js line 19 @@ -446,7 +446,7 @@
Properties:
Source:
- src/physics/ninja/Circle.js line 24 + src/physics/ninja/Circle.js line 24 @@ -523,7 +523,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 90 + src/physics/ninja/Circle.js line 90 @@ -600,7 +600,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 68 + src/physics/ninja/Circle.js line 68 @@ -677,7 +677,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 39 + src/physics/ninja/Circle.js line 39 @@ -754,7 +754,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 34 + src/physics/ninja/Circle.js line 34 @@ -831,7 +831,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 44 + src/physics/ninja/Circle.js line 44 @@ -908,7 +908,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 29 + src/physics/ninja/Circle.js line 29 @@ -985,7 +985,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 85 + src/physics/ninja/Circle.js line 85 @@ -1062,7 +1062,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 62 + src/physics/ninja/Circle.js line 62 @@ -1139,7 +1139,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 50 + src/physics/ninja/Circle.js line 50 @@ -1254,7 +1254,7 @@
Properties:
Source:
- src/physics/ninja/Circle.js line 56 + src/physics/ninja/Circle.js line 56 @@ -1382,7 +1382,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 248 + src/physics/ninja/Circle.js line 248 @@ -1490,7 +1490,7 @@

Source:
- src/physics/ninja/Circle.js line 207 + src/physics/ninja/Circle.js line 207 @@ -1574,7 +1574,7 @@

Source:
- src/physics/ninja/Circle.js line 2612 + src/physics/ninja/Circle.js line 2612 @@ -1658,7 +1658,7 @@

Source:
- src/physics/ninja/Circle.js line 112 + src/physics/ninja/Circle.js line 112 @@ -1912,7 +1912,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1719 + src/physics/ninja/Circle.js line 1719 @@ -2190,7 +2190,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1427 + src/physics/ninja/Circle.js line 1427 @@ -2468,7 +2468,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 447 + src/physics/ninja/Circle.js line 447 @@ -2746,7 +2746,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2307 + src/physics/ninja/Circle.js line 2307 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2022 + src/physics/ninja/Circle.js line 2022 @@ -3302,7 +3302,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 717 + src/physics/ninja/Circle.js line 717 @@ -3580,7 +3580,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 951 + src/physics/ninja/Circle.js line 951 @@ -3858,7 +3858,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 335 + src/physics/ninja/Circle.js line 335 @@ -4136,7 +4136,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1193 + src/physics/ninja/Circle.js line 1193 @@ -4390,7 +4390,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2622 + src/physics/ninja/Circle.js line 2622 @@ -4620,7 +4620,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 132 + src/physics/ninja/Circle.js line 132 @@ -4874,7 +4874,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 310 + src/physics/ninja/Circle.js line 310 @@ -4941,9 +4941,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -4960,7 +4960,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -4989,7 +4989,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.Tile.html b/docs/Phaser.Physics.Ninja.Tile.html index 989baad59..4c4f60848 100644 --- a/docs/Phaser.Physics.Ninja.Tile.html +++ b/docs/Phaser.Physics.Ninja.Tile.html @@ -6,7 +6,7 @@ Phaser CE Class: Tile - + @@ -434,7 +434,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 25 + src/physics/ninja/Tile.js line 25 @@ -577,7 +577,7 @@
Properties:
Source:
- src/physics/ninja/Tile.js line 32 + src/physics/ninja/Tile.js line 32 @@ -654,7 +654,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 701 + src/physics/ninja/Tile.js line 701 @@ -731,7 +731,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 89 + src/physics/ninja/Tile.js line 89 @@ -808,7 +808,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 43 + src/physics/ninja/Tile.js line 43 @@ -885,7 +885,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 59 + src/physics/ninja/Tile.js line 59 @@ -962,7 +962,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 54 + src/physics/ninja/Tile.js line 54 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 714 + src/physics/ninja/Tile.js line 714 @@ -1116,7 +1116,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 37 + src/physics/ninja/Tile.js line 37 @@ -1193,7 +1193,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 49 + src/physics/ninja/Tile.js line 49 @@ -1270,7 +1270,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 94 + src/physics/ninja/Tile.js line 94 @@ -1347,7 +1347,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 83 + src/physics/ninja/Tile.js line 83 @@ -1424,7 +1424,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 669 + src/physics/ninja/Tile.js line 669 @@ -1501,7 +1501,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 71 + src/physics/ninja/Tile.js line 71 @@ -1578,7 +1578,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 685 + src/physics/ninja/Tile.js line 685 @@ -1693,7 +1693,7 @@
Properties:
Source:
- src/physics/ninja/Tile.js line 77 + src/physics/ninja/Tile.js line 77 @@ -1771,7 +1771,7 @@

Source:
- src/physics/ninja/Tile.js line 290 + src/physics/ninja/Tile.js line 290 @@ -1855,7 +1855,7 @@

Source:
- src/physics/ninja/Tile.js line 153 + src/physics/ninja/Tile.js line 153 @@ -1939,7 +1939,7 @@

Source:
- src/physics/ninja/Tile.js line 302 + src/physics/ninja/Tile.js line 302 @@ -2023,7 +2023,7 @@

Source:
- src/physics/ninja/Tile.js line 135 + src/physics/ninja/Tile.js line 135 @@ -2253,7 +2253,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 194 + src/physics/ninja/Tile.js line 194 @@ -2387,7 +2387,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 268 + src/physics/ninja/Tile.js line 268 @@ -2430,9 +2430,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2449,7 +2449,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2478,7 +2478,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.Ninja.html b/docs/Phaser.Physics.Ninja.html index c3a4e6d58..68f098ac1 100644 --- a/docs/Phaser.Physics.Ninja.html +++ b/docs/Phaser.Physics.Ninja.html @@ -6,7 +6,7 @@ Phaser CE Class: Ninja - + @@ -243,7 +243,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 29 + src/physics/ninja/World.js line 29 @@ -364,7 +364,7 @@
Type:
Source:
- src/physics/ninja/World.js line 49 + src/physics/ninja/World.js line 49 @@ -441,7 +441,7 @@
Type:
Source:
- src/physics/ninja/World.js line 34 + src/physics/ninja/World.js line 34 @@ -518,7 +518,7 @@
Type:
Source:
- src/physics/ninja/World.js line 44 + src/physics/ninja/World.js line 44 @@ -595,7 +595,7 @@
Type:
Source:
- src/physics/ninja/World.js line 59 + src/physics/ninja/World.js line 59 @@ -672,7 +672,7 @@
Type:
Source:
- src/physics/ninja/World.js line 54 + src/physics/ninja/World.js line 54 @@ -749,7 +749,7 @@
Type:
Source:
- src/physics/ninja/World.js line 64 + src/physics/ninja/World.js line 64 @@ -826,7 +826,7 @@
Type:
Source:
- src/physics/ninja/World.js line 39 + src/physics/ninja/World.js line 39 @@ -1004,7 +1004,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 224 + src/physics/ninja/World.js line 224 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 330 + src/physics/ninja/World.js line 330 @@ -1555,7 +1555,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 246 + src/physics/ninja/World.js line 246 @@ -1896,7 +1896,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 121 + src/physics/ninja/World.js line 121 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 75 + src/physics/ninja/World.js line 75 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 181 + src/physics/ninja/World.js line 181 @@ -2461,7 +2461,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 89 + src/physics/ninja/World.js line 89 @@ -2700,7 +2700,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 104 + src/physics/ninja/World.js line 104 @@ -3022,7 +3022,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 291 + src/physics/ninja/World.js line 291 @@ -3204,7 +3204,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 567 + src/physics/ninja/World.js line 567 @@ -3434,7 +3434,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 198 + src/physics/ninja/World.js line 198 @@ -3518,7 +3518,7 @@

Source:
- src/physics/ninja/World.js line 213 + src/physics/ninja/World.js line 213 @@ -3561,9 +3561,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3580,7 +3580,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3609,7 +3609,7 @@

- + diff --git a/docs/Phaser.Physics.P2.Body.html b/docs/Phaser.Physics.P2.Body.html index 2a63dcf6b..6899705d5 100644 --- a/docs/Phaser.Physics.P2.Body.html +++ b/docs/Phaser.Physics.P2.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -409,7 +409,7 @@

Parameters:
Source:
- src/physics/p2/Body.js line 23 + src/physics/p2/Body.js line 23 @@ -514,7 +514,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1508 + src/physics/p2/Body.js line 1508 @@ -591,7 +591,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1524 + src/physics/p2/Body.js line 1524 @@ -668,7 +668,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1516 + src/physics/p2/Body.js line 1516 @@ -745,7 +745,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1613 + src/physics/p2/Body.js line 1613 @@ -824,7 +824,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1636 + src/physics/p2/Body.js line 1636 @@ -901,7 +901,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1660 + src/physics/p2/Body.js line 1660 @@ -978,7 +978,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1681 + src/physics/p2/Body.js line 1681 @@ -1055,7 +1055,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1701 + src/physics/p2/Body.js line 1701 @@ -1132,7 +1132,7 @@
Type:
Source:
- src/physics/p2/Body.js line 112 + src/physics/p2/Body.js line 112 @@ -1219,7 +1219,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1959 + src/physics/p2/Body.js line 1959 @@ -1296,7 +1296,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1721 + src/physics/p2/Body.js line 1721 @@ -1373,7 +1373,7 @@
Type:
Source:
- src/physics/p2/Body.js line 59 + src/physics/p2/Body.js line 59 @@ -1450,7 +1450,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1930 + src/physics/p2/Body.js line 1930 @@ -1527,7 +1527,7 @@
Type:
Source:
- src/physics/p2/Body.js line 122 + src/physics/p2/Body.js line 122 @@ -1604,7 +1604,7 @@
Type:
Source:
- src/physics/p2/Body.js line 127 + src/physics/p2/Body.js line 127 @@ -1681,7 +1681,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1555 + src/physics/p2/Body.js line 1555 @@ -1758,7 +1758,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1742 + src/physics/p2/Body.js line 1742 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/physics/p2/Body.js line 71 + src/physics/p2/Body.js line 71 @@ -1912,7 +1912,7 @@
Type:
Source:
- src/physics/p2/Body.js line 33 + src/physics/p2/Body.js line 33 @@ -1989,7 +1989,7 @@
Type:
Source:
- src/physics/p2/Body.js line 76 + src/physics/p2/Body.js line 76 @@ -2066,7 +2066,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1915 + src/physics/p2/Body.js line 1915 @@ -2143,7 +2143,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1765 + src/physics/p2/Body.js line 1765 @@ -2220,7 +2220,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1584 + src/physics/p2/Body.js line 1584 @@ -2297,7 +2297,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1785 + src/physics/p2/Body.js line 1785 @@ -2374,7 +2374,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1809 + src/physics/p2/Body.js line 1809 @@ -2451,7 +2451,7 @@
Type:
Source:
- src/physics/p2/Body.js line 53 + src/physics/p2/Body.js line 53 @@ -2535,7 +2535,7 @@
Type:
Source:
- src/physics/p2/Body.js line 92 + src/physics/p2/Body.js line 92 @@ -2618,7 +2618,7 @@
Type:
Source:
- src/physics/p2/Body.js line 107 + src/physics/p2/Body.js line 107 @@ -2695,7 +2695,7 @@
Type:
Source:
- src/physics/p2/Body.js line 117 + src/physics/p2/Body.js line 117 @@ -2773,7 +2773,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1832 + src/physics/p2/Body.js line 1832 @@ -2850,7 +2850,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1855 + src/physics/p2/Body.js line 1855 @@ -2927,7 +2927,7 @@
Type:
Source:
- src/physics/p2/Body.js line 43 + src/physics/p2/Body.js line 43 @@ -3004,7 +3004,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1526 + src/physics/p2/Body.js line 1526 @@ -3081,7 +3081,7 @@
Type:
Source:
- src/physics/p2/Body.js line 48 + src/physics/p2/Body.js line 48 @@ -3158,7 +3158,7 @@
Type:
Source:
- src/physics/p2/Body.js line 66 + src/physics/p2/Body.js line 66 @@ -3235,7 +3235,7 @@
Type:
Source:
- src/physics/p2/Body.js line 38 + src/physics/p2/Body.js line 38 @@ -3312,7 +3312,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1875 + src/physics/p2/Body.js line 1875 @@ -3389,7 +3389,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1895 + src/physics/p2/Body.js line 1895 @@ -3690,7 +3690,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1109 + src/physics/p2/Body.js line 1109 @@ -3984,7 +3984,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1018 + src/physics/p2/Body.js line 1018 @@ -4142,7 +4142,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1351 + src/physics/p2/Body.js line 1351 @@ -4438,7 +4438,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1089 + src/physics/p2/Body.js line 1089 @@ -4696,7 +4696,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1072 + src/physics/p2/Body.js line 1072 @@ -4881,7 +4881,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1311 + src/physics/p2/Body.js line 1311 @@ -5139,7 +5139,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1055 + src/physics/p2/Body.js line 1055 @@ -5480,7 +5480,7 @@
Properties
Source:
- src/physics/p2/Body.js line 1129 + src/physics/p2/Body.js line 1129 @@ -5810,7 +5810,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1036 + src/physics/p2/Body.js line 1036 @@ -6106,7 +6106,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 992 + src/physics/p2/Body.js line 992 @@ -6214,7 +6214,7 @@

Source:
- src/physics/p2/Body.js line 904 + src/physics/p2/Body.js line 904 @@ -6298,7 +6298,7 @@

Source:
- src/physics/p2/Body.js line 490 + src/physics/p2/Body.js line 490 @@ -6432,7 +6432,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 516 + src/physics/p2/Body.js line 516 @@ -6619,7 +6619,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 561 + src/physics/p2/Body.js line 561 @@ -6806,7 +6806,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 528 + src/physics/p2/Body.js line 528 @@ -6993,7 +6993,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 544 + src/physics/p2/Body.js line 544 @@ -7225,7 +7225,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 323 + src/physics/p2/Body.js line 323 @@ -7309,7 +7309,7 @@

Source:
- src/physics/p2/Body.js line 974 + src/physics/p2/Body.js line 974 @@ -7558,7 +7558,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 435 + src/physics/p2/Body.js line 435 @@ -7752,7 +7752,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 180 + src/physics/p2/Body.js line 180 @@ -7938,7 +7938,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 220 + src/physics/p2/Body.js line 220 @@ -8022,7 +8022,7 @@

Source:
- src/physics/p2/Body.js line 943 + src/physics/p2/Body.js line 943 @@ -8106,7 +8106,7 @@

Source:
- src/physics/p2/Body.js line 247 + src/physics/p2/Body.js line 247 @@ -8288,7 +8288,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 502 + src/physics/p2/Body.js line 502 @@ -8546,7 +8546,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1423 + src/physics/p2/Body.js line 1423 @@ -8705,7 +8705,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 691 + src/physics/p2/Body.js line 691 @@ -8840,7 +8840,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 815 + src/physics/p2/Body.js line 815 @@ -8975,7 +8975,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 674 + src/physics/p2/Body.js line 674 @@ -9110,7 +9110,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 776 + src/physics/p2/Body.js line 776 @@ -9245,7 +9245,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 789 + src/physics/p2/Body.js line 789 @@ -9380,7 +9380,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 802 + src/physics/p2/Body.js line 802 @@ -9464,7 +9464,7 @@

Source:
- src/physics/p2/Body.js line 846 + src/physics/p2/Body.js line 846 @@ -9548,7 +9548,7 @@

Source:
- src/physics/p2/Body.js line 828 + src/physics/p2/Body.js line 828 @@ -9779,7 +9779,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 371 + src/physics/p2/Body.js line 371 @@ -9863,7 +9863,7 @@

Source:
- src/physics/p2/Body.js line 929 + src/physics/p2/Body.js line 929 @@ -10009,7 +10009,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1195 + src/physics/p2/Body.js line 1195 @@ -10299,7 +10299,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 871 + src/physics/p2/Body.js line 871 @@ -10434,7 +10434,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 759 + src/physics/p2/Body.js line 759 @@ -10568,7 +10568,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 650 + src/physics/p2/Body.js line 650 @@ -10702,7 +10702,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 662 + src/physics/p2/Body.js line 662 @@ -10973,7 +10973,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1211 + src/physics/p2/Body.js line 1211 @@ -11152,7 +11152,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 295 + src/physics/p2/Body.js line 295 @@ -11331,7 +11331,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1273 + src/physics/p2/Body.js line 1273 @@ -11647,7 +11647,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1229 + src/physics/p2/Body.js line 1229 @@ -11823,7 +11823,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1253 + src/physics/p2/Body.js line 1253 @@ -11931,7 +11931,7 @@

Source:
- src/physics/p2/Body.js line 612 + src/physics/p2/Body.js line 612 @@ -12015,7 +12015,7 @@

Source:
- src/physics/p2/Body.js line 578 + src/physics/p2/Body.js line 578 @@ -12099,7 +12099,7 @@

Source:
- src/physics/p2/Body.js line 589 + src/physics/p2/Body.js line 589 @@ -12183,7 +12183,7 @@

Source:
- src/physics/p2/Body.js line 600 + src/physics/p2/Body.js line 600 @@ -12267,7 +12267,7 @@

Source:
- src/physics/p2/Body.js line 1297 + src/physics/p2/Body.js line 1297 @@ -12402,7 +12402,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 708 + src/physics/p2/Body.js line 708 @@ -12537,7 +12537,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 725 + src/physics/p2/Body.js line 725 @@ -12672,7 +12672,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 742 + src/physics/p2/Body.js line 742 @@ -12836,7 +12836,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 624 + src/physics/p2/Body.js line 624 @@ -12994,7 +12994,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 637 + src/physics/p2/Body.js line 637 @@ -13140,7 +13140,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 271 + src/physics/p2/Body.js line 271 @@ -13183,9 +13183,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -13202,7 +13202,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -13231,7 +13231,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.BodyDebug.html b/docs/Phaser.Physics.P2.BodyDebug.html index c24c7b78d..647c98b0c 100644 --- a/docs/Phaser.Physics.P2.BodyDebug.html +++ b/docs/Phaser.Physics.P2.BodyDebug.html @@ -6,7 +6,7 @@ Phaser CE Class: BodyDebug - + @@ -283,7 +283,7 @@
Parameters:
Source:
- src/physics/p2/BodyDebug.js line 24 + src/physics/p2/BodyDebug.js line 24 @@ -415,7 +415,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -501,7 +501,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -590,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -667,7 +667,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 50 + src/physics/p2/BodyDebug.js line 50 @@ -755,7 +755,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -848,7 +848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -935,7 +935,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1012,7 +1012,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 55 + src/physics/p2/BodyDebug.js line 55 @@ -1100,7 +1100,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1188,7 +1188,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1274,7 +1274,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1368,7 +1368,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1541,7 +1541,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -1895,7 +1895,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -1986,7 +1986,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2160,7 +2160,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2250,7 +2250,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2336,7 +2336,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -2432,7 +2432,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2520,7 +2520,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2606,7 +2606,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2694,7 +2694,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -2782,7 +2782,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -2957,7 +2957,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -3043,7 +3043,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3133,7 +3133,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3223,7 +3223,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3313,7 +3313,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3490,7 +3490,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3579,7 +3579,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -3669,7 +3669,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3756,7 +3756,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -3849,7 +3849,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -3935,7 +3935,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -4022,7 +4022,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4110,7 +4110,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4187,7 +4187,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 44 + src/physics/p2/BodyDebug.js line 44 @@ -4274,7 +4274,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4362,7 +4362,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4450,7 +4450,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4539,7 +4539,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4627,7 +4627,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -4713,7 +4713,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -4799,7 +4799,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -4885,7 +4885,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -4971,7 +4971,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -5057,7 +5057,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -5149,7 +5149,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5240,7 +5240,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5331,7 +5331,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5422,7 +5422,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5513,7 +5513,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -5599,7 +5599,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -5687,7 +5687,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -5775,7 +5775,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -5862,7 +5862,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6100,7 +6100,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6378,7 +6378,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6620,7 +6620,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6787,7 +6787,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6978,7 +6978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7209,7 +7209,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7380,7 +7380,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7775,7 +7775,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -8118,7 +8118,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8462,7 +8462,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8653,7 +8653,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -8796,7 +8796,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -9059,7 +9059,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9279,7 +9279,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9470,7 +9470,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -9786,7 +9786,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -10088,7 +10088,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10385,7 +10385,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10552,7 +10552,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10739,7 +10739,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -10856,7 +10856,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -10973,7 +10973,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11367,7 +11367,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -11774,7 +11774,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11987,7 +11987,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -12154,7 +12154,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12358,7 +12358,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12574,7 +12574,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -12658,7 +12658,7 @@

Source:
- src/physics/p2/BodyDebug.js line 85 + src/physics/p2/BodyDebug.js line 85 @@ -12862,7 +12862,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -13166,7 +13166,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13404,7 +13404,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13642,7 +13642,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -13880,7 +13880,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -14125,7 +14125,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -14433,7 +14433,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14602,7 +14602,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -14723,7 +14723,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -14905,7 +14905,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -15074,7 +15074,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -15241,7 +15241,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15408,7 +15408,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15659,7 +15659,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -15850,7 +15850,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -16209,7 +16209,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16568,7 +16568,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -16966,7 +16966,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -17217,7 +17217,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17384,7 +17384,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17501,7 +17501,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -17728,7 +17728,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -17956,7 +17956,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -18074,7 +18074,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -18266,7 +18266,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18653,7 +18653,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -18770,7 +18770,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -18863,7 +18863,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -19062,7 +19062,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -19229,7 +19229,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -19396,7 +19396,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -19636,7 +19636,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -19730,7 +19730,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -19847,7 +19847,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -19940,7 +19940,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -20034,7 +20034,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -20299,7 +20299,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20569,7 +20569,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -20846,7 +20846,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -20989,7 +20989,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -21156,7 +21156,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -21347,7 +21347,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21491,7 +21491,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -21684,7 +21684,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -22038,7 +22038,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -22344,7 +22344,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -22532,7 +22532,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -22650,7 +22650,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -22743,7 +22743,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -22836,7 +22836,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -23039,7 +23039,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -23182,7 +23182,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -23598,7 +23598,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -23980,7 +23980,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -24338,7 +24338,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -24505,7 +24505,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -24824,7 +24824,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -24942,7 +24942,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -25149,7 +25149,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -25365,7 +25365,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -25533,7 +25533,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -25700,7 +25700,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -25843,7 +25843,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -26056,7 +26056,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -26176,7 +26176,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -26269,7 +26269,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -26379,7 +26379,7 @@

Source:
- src/physics/p2/BodyDebug.js line 72 + src/physics/p2/BodyDebug.js line 72 @@ -26542,7 +26542,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -26662,7 +26662,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -26853,7 +26853,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -26896,9 +26896,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -26915,7 +26915,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -26944,7 +26944,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.CollisionGroup.html b/docs/Phaser.Physics.P2.CollisionGroup.html index 2aecf8100..353e40ee9 100644 --- a/docs/Phaser.Physics.P2.CollisionGroup.html +++ b/docs/Phaser.Physics.P2.CollisionGroup.html @@ -6,7 +6,7 @@ Phaser CE Class: CollisionGroup - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/physics/p2/CollisionGroup.js line 14 + src/physics/p2/CollisionGroup.js line 14 @@ -335,7 +335,7 @@
Type:
Source:
- src/physics/p2/CollisionGroup.js line 19 + src/physics/p2/CollisionGroup.js line 19 @@ -368,9 +368,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -387,7 +387,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -416,7 +416,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.ContactMaterial.html b/docs/Phaser.Physics.P2.ContactMaterial.html index 64080acb3..7ff1a8be5 100644 --- a/docs/Phaser.Physics.P2.ContactMaterial.html +++ b/docs/Phaser.Physics.P2.ContactMaterial.html @@ -6,7 +6,7 @@ Phaser CE Class: ContactMaterial - + @@ -306,7 +306,7 @@
Parameters:
Source:
- src/physics/p2/ContactMaterial.js line 16 + src/physics/p2/ContactMaterial.js line 16 @@ -363,9 +363,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -382,7 +382,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -411,7 +411,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.DistanceConstraint.html b/docs/Phaser.Physics.P2.DistanceConstraint.html index f98165d66..6fb0144f8 100644 --- a/docs/Phaser.Physics.P2.DistanceConstraint.html +++ b/docs/Phaser.Physics.P2.DistanceConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: DistanceConstraint - + @@ -470,7 +470,7 @@
Parameters:
Source:
- src/physics/p2/DistanceConstraint.js line 20 + src/physics/p2/DistanceConstraint.js line 20 @@ -575,7 +575,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 30 + src/physics/p2/DistanceConstraint.js line 30 @@ -652,7 +652,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 35 + src/physics/p2/DistanceConstraint.js line 35 @@ -685,9 +685,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -704,7 +704,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -733,7 +733,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.FixtureList.html b/docs/Phaser.Physics.P2.FixtureList.html index 89968c9de..e67acb92f 100644 --- a/docs/Phaser.Physics.P2.FixtureList.html +++ b/docs/Phaser.Physics.P2.FixtureList.html @@ -6,7 +6,7 @@ Phaser CE Class: FixtureList - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 23 + src/physics/p2/FixtureList.js line 23 @@ -387,7 +387,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 212 + src/physics/p2/FixtureList.js line 212 @@ -521,7 +521,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 158 + src/physics/p2/FixtureList.js line 158 @@ -655,7 +655,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 123 + src/physics/p2/FixtureList.js line 123 @@ -789,7 +789,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 170 + src/physics/p2/FixtureList.js line 170 @@ -869,7 +869,7 @@

Source:
- src/physics/p2/FixtureList.js line 38 + src/physics/p2/FixtureList.js line 38 @@ -953,7 +953,7 @@

Source:
- src/physics/p2/FixtureList.js line 182 + src/physics/p2/FixtureList.js line 182 @@ -1107,7 +1107,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 63 + src/physics/p2/FixtureList.js line 63 @@ -1261,7 +1261,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 78 + src/physics/p2/FixtureList.js line 78 @@ -1415,7 +1415,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 108 + src/physics/p2/FixtureList.js line 108 @@ -1569,7 +1569,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 93 + src/physics/p2/FixtureList.js line 93 @@ -1612,9 +1612,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1631,7 +1631,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1660,7 +1660,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.GearConstraint.html b/docs/Phaser.Physics.P2.GearConstraint.html index 861875c9c..2d332c8cc 100644 --- a/docs/Phaser.Physics.P2.GearConstraint.html +++ b/docs/Phaser.Physics.P2.GearConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: GearConstraint - + @@ -398,7 +398,7 @@
Parameters:
Source:
- src/physics/p2/GearConstraint.js line 18 + src/physics/p2/GearConstraint.js line 18 @@ -503,7 +503,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 26 + src/physics/p2/GearConstraint.js line 26 @@ -580,7 +580,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 31 + src/physics/p2/GearConstraint.js line 31 @@ -613,9 +613,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -632,7 +632,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -661,7 +661,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.InversePointProxy.html b/docs/Phaser.Physics.P2.InversePointProxy.html index 9a38007a9..da20acc2c 100644 --- a/docs/Phaser.Physics.P2.InversePointProxy.html +++ b/docs/Phaser.Physics.P2.InversePointProxy.html @@ -6,7 +6,7 @@ Phaser CE Class: InversePointProxy - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/physics/p2/InversePointProxy.js line 15 + src/physics/p2/InversePointProxy.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 64 + src/physics/p2/InversePointProxy.js line 64 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 84 + src/physics/p2/InversePointProxy.js line 84 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 24 + src/physics/p2/InversePointProxy.js line 24 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 44 + src/physics/p2/InversePointProxy.js line 44 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -642,7 +642,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.LockConstraint.html b/docs/Phaser.Physics.P2.LockConstraint.html index af6d2c4b0..2d3566c63 100644 --- a/docs/Phaser.Physics.P2.LockConstraint.html +++ b/docs/Phaser.Physics.P2.LockConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: LockConstraint - + @@ -434,7 +434,7 @@
Parameters:
Source:
- src/physics/p2/LockConstraint.js line 19 + src/physics/p2/LockConstraint.js line 19 @@ -539,7 +539,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 28 + src/physics/p2/LockConstraint.js line 28 @@ -616,7 +616,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 33 + src/physics/p2/LockConstraint.js line 33 @@ -649,9 +649,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -668,7 +668,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -697,7 +697,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Material.html b/docs/Phaser.Physics.P2.Material.html index 276673730..813e8acf6 100644 --- a/docs/Phaser.Physics.P2.Material.html +++ b/docs/Phaser.Physics.P2.Material.html @@ -6,7 +6,7 @@ Phaser CE Class: Material - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/physics/p2/Material.js line 16 + src/physics/p2/Material.js line 16 @@ -336,7 +336,7 @@
Type:
Source:
- src/physics/p2/Material.js line 22 + src/physics/p2/Material.js line 22 @@ -369,9 +369,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -388,7 +388,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -417,7 +417,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PointProxy.html b/docs/Phaser.Physics.P2.PointProxy.html index 5a07166ed..01cdb4a41 100644 --- a/docs/Phaser.Physics.P2.PointProxy.html +++ b/docs/Phaser.Physics.P2.PointProxy.html @@ -6,7 +6,7 @@ Phaser CE Class: PointProxy - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/physics/p2/PointProxy.js line 15 + src/physics/p2/PointProxy.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 64 + src/physics/p2/PointProxy.js line 64 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 84 + src/physics/p2/PointProxy.js line 84 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 24 + src/physics/p2/PointProxy.js line 24 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 44 + src/physics/p2/PointProxy.js line 44 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -642,7 +642,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PrismaticConstraint.html b/docs/Phaser.Physics.P2.PrismaticConstraint.html index 5dbcbfe58..e33f8205d 100644 --- a/docs/Phaser.Physics.P2.PrismaticConstraint.html +++ b/docs/Phaser.Physics.P2.PrismaticConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: PrismaticConstraint - + @@ -510,7 +510,7 @@
Parameters:
Source:
- src/physics/p2/PrismaticConstraint.js line 21 + src/physics/p2/PrismaticConstraint.js line 21 @@ -615,7 +615,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 32 + src/physics/p2/PrismaticConstraint.js line 32 @@ -692,7 +692,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 37 + src/physics/p2/PrismaticConstraint.js line 37 @@ -725,9 +725,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -744,7 +744,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -773,7 +773,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RevoluteConstraint.html b/docs/Phaser.Physics.P2.RevoluteConstraint.html index 27b378e8b..97c1a6456 100644 --- a/docs/Phaser.Physics.P2.RevoluteConstraint.html +++ b/docs/Phaser.Physics.P2.RevoluteConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: RevoluteConstraint - + @@ -471,7 +471,7 @@
Parameters:
Source:
- src/physics/p2/RevoluteConstraint.js line 21 + src/physics/p2/RevoluteConstraint.js line 21 @@ -576,7 +576,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 29 + src/physics/p2/RevoluteConstraint.js line 29 @@ -653,7 +653,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 34 + src/physics/p2/RevoluteConstraint.js line 34 @@ -686,9 +686,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -705,7 +705,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -734,7 +734,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RotationalSpring.html b/docs/Phaser.Physics.P2.RotationalSpring.html index 10d100934..9e9c0f10c 100644 --- a/docs/Phaser.Physics.P2.RotationalSpring.html +++ b/docs/Phaser.Physics.P2.RotationalSpring.html @@ -6,7 +6,7 @@ Phaser CE Class: RotationalSpring - + @@ -436,7 +436,7 @@
Parameters:
Source:
- src/physics/p2/RotationalSpring.js line 19 + src/physics/p2/RotationalSpring.js line 19 @@ -541,7 +541,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 49 + src/physics/p2/RotationalSpring.js line 49 @@ -618,7 +618,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 24 + src/physics/p2/RotationalSpring.js line 24 @@ -695,7 +695,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 29 + src/physics/p2/RotationalSpring.js line 29 @@ -728,9 +728,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -747,7 +747,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -776,7 +776,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Spring.html b/docs/Phaser.Physics.P2.Spring.html index 281e0f207..7221c5795 100644 --- a/docs/Phaser.Physics.P2.Spring.html +++ b/docs/Phaser.Physics.P2.Spring.html @@ -6,7 +6,7 @@ Phaser CE Class: Spring - + @@ -590,7 +590,7 @@
Parameters:
Source:
- src/physics/p2/Spring.js line 23 + src/physics/p2/Spring.js line 23 @@ -695,7 +695,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 70 + src/physics/p2/Spring.js line 70 @@ -772,7 +772,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 28 + src/physics/p2/Spring.js line 28 @@ -849,7 +849,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 33 + src/physics/p2/Spring.js line 33 @@ -882,9 +882,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -901,7 +901,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -930,7 +930,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.html b/docs/Phaser.Physics.P2.html index 916baf67a..20640fe5d 100644 --- a/docs/Phaser.Physics.P2.html +++ b/docs/Phaser.Physics.P2.html @@ -6,7 +6,7 @@ Phaser CE Class: P2 - + @@ -275,7 +275,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 20 + src/physics/p2/World.js line 20 @@ -429,7 +429,7 @@
Type:
Source:
- src/physics/p2/World.js line 1934 + src/physics/p2/World.js line 1934 @@ -506,7 +506,7 @@
Type:
Source:
- src/physics/p2/World.js line 1954 + src/physics/p2/World.js line 1954 @@ -583,7 +583,7 @@
Type:
Source:
- src/physics/p2/World.js line 1914 + src/physics/p2/World.js line 1914 @@ -660,7 +660,7 @@
Type:
Source:
- src/physics/p2/World.js line 232 + src/physics/p2/World.js line 232 @@ -737,7 +737,7 @@
Type:
Source:
- src/physics/p2/World.js line 222 + src/physics/p2/World.js line 222 @@ -814,7 +814,7 @@
Type:
Source:
- src/physics/p2/World.js line 170 + src/physics/p2/World.js line 170 @@ -891,7 +891,7 @@
Type:
Source:
- src/physics/p2/World.js line 212 + src/physics/p2/World.js line 212 @@ -968,7 +968,7 @@
Type:
Source:
- src/physics/p2/World.js line 48 + src/physics/p2/World.js line 48 @@ -1045,7 +1045,7 @@
Type:
Source:
- src/physics/p2/World.js line 1894 + src/physics/p2/World.js line 1894 @@ -1122,7 +1122,7 @@
Type:
Source:
- src/physics/p2/World.js line 2009 + src/physics/p2/World.js line 2009 @@ -1199,7 +1199,7 @@
Type:
Source:
- src/physics/p2/World.js line 227 + src/physics/p2/World.js line 227 @@ -1276,7 +1276,7 @@
Type:
Source:
- src/physics/p2/World.js line 60 + src/physics/p2/World.js line 60 @@ -1353,7 +1353,7 @@
Type:
Source:
- src/physics/p2/World.js line 1854 + src/physics/p2/World.js line 1854 @@ -1430,7 +1430,7 @@
Type:
Source:
- src/physics/p2/World.js line 25 + src/physics/p2/World.js line 25 @@ -1507,7 +1507,7 @@
Type:
Source:
- src/physics/p2/World.js line 83 + src/physics/p2/World.js line 83 @@ -1584,7 +1584,7 @@
Type:
Source:
- src/physics/p2/World.js line 78 + src/physics/p2/World.js line 78 @@ -1661,7 +1661,7 @@
Type:
Source:
- src/physics/p2/World.js line 217 + src/physics/p2/World.js line 217 @@ -1741,7 +1741,7 @@
Type:
Source:
- src/physics/p2/World.js line 182 + src/physics/p2/World.js line 182 @@ -1819,7 +1819,7 @@
Type:
Source:
- src/physics/p2/World.js line 97 + src/physics/p2/World.js line 97 @@ -1897,7 +1897,7 @@
Type:
Source:
- src/physics/p2/World.js line 106 + src/physics/p2/World.js line 106 @@ -1975,7 +1975,7 @@
Type:
Source:
- src/physics/p2/World.js line 133 + src/physics/p2/World.js line 133 @@ -2053,7 +2053,7 @@
Type:
Source:
- src/physics/p2/World.js line 142 + src/physics/p2/World.js line 142 @@ -2131,7 +2131,7 @@
Type:
Source:
- src/physics/p2/World.js line 151 + src/physics/p2/World.js line 151 @@ -2209,7 +2209,7 @@
Type:
Source:
- src/physics/p2/World.js line 160 + src/physics/p2/World.js line 160 @@ -2289,7 +2289,7 @@
Type:
Source:
- src/physics/p2/World.js line 194 + src/physics/p2/World.js line 194 @@ -2367,7 +2367,7 @@
Type:
Source:
- src/physics/p2/World.js line 115 + src/physics/p2/World.js line 115 @@ -2445,7 +2445,7 @@
Type:
Source:
- src/physics/p2/World.js line 124 + src/physics/p2/World.js line 124 @@ -2522,7 +2522,7 @@
Type:
Source:
- src/physics/p2/World.js line 72 + src/physics/p2/World.js line 72 @@ -2599,7 +2599,7 @@
Type:
Source:
- src/physics/p2/World.js line 165 + src/physics/p2/World.js line 165 @@ -2676,7 +2676,7 @@
Type:
Source:
- src/physics/p2/World.js line 1874 + src/physics/p2/World.js line 1874 @@ -2754,7 +2754,7 @@
Type:
Source:
- src/physics/p2/World.js line 2029 + src/physics/p2/World.js line 2029 @@ -2831,7 +2831,7 @@
Type:
Source:
- src/physics/p2/World.js line 1974 + src/physics/p2/World.js line 1974 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/physics/p2/World.js line 1994 + src/physics/p2/World.js line 1994 @@ -2985,7 +2985,7 @@
Type:
Source:
- src/physics/p2/World.js line 2051 + src/physics/p2/World.js line 2051 @@ -3062,7 +3062,7 @@
Type:
Source:
- src/physics/p2/World.js line 66 + src/physics/p2/World.js line 66 @@ -3139,7 +3139,7 @@
Type:
Source:
- src/physics/p2/World.js line 88 + src/physics/p2/World.js line 88 @@ -3216,7 +3216,7 @@
Type:
Source:
- src/physics/p2/World.js line 54 + src/physics/p2/World.js line 54 @@ -3344,7 +3344,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 887 + src/physics/p2/World.js line 887 @@ -3502,7 +3502,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1119 + src/physics/p2/World.js line 1119 @@ -3660,7 +3660,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1153 + src/physics/p2/World.js line 1153 @@ -3824,7 +3824,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 931 + src/physics/p2/World.js line 931 @@ -3982,7 +3982,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 502 + src/physics/p2/World.js line 502 @@ -4075,7 +4075,7 @@

Source:
- src/physics/p2/World.js line 800 + src/physics/p2/World.js line 800 @@ -4259,7 +4259,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1681 + src/physics/p2/World.js line 1681 @@ -4494,7 +4494,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1625 + src/physics/p2/World.js line 1625 @@ -4795,7 +4795,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1703 + src/physics/p2/World.js line 1703 @@ -5311,7 +5311,7 @@
Properties
Source:
- src/physics/p2/World.js line 1542 + src/physics/p2/World.js line 1542 @@ -5485,7 +5485,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1411 + src/physics/p2/World.js line 1411 @@ -5699,7 +5699,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1246 + src/physics/p2/World.js line 1246 @@ -6045,7 +6045,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 979 + src/physics/p2/World.js line 979 @@ -6347,7 +6347,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1007 + src/physics/p2/World.js line 1007 @@ -6685,7 +6685,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1062 + src/physics/p2/World.js line 1062 @@ -6891,7 +6891,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1219 + src/physics/p2/World.js line 1219 @@ -7407,7 +7407,7 @@
Properties
Source:
- src/physics/p2/World.js line 1584 + src/physics/p2/World.js line 1584 @@ -7798,7 +7798,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1089 + src/physics/p2/World.js line 1089 @@ -8173,7 +8173,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1033 + src/physics/p2/World.js line 1033 @@ -8513,7 +8513,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1515 + src/physics/p2/World.js line 1515 @@ -9007,7 +9007,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1484 + src/physics/p2/World.js line 1484 @@ -9115,7 +9115,7 @@

Source:
- src/physics/p2/World.js line 874 + src/physics/p2/World.js line 874 @@ -9353,7 +9353,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 313 + src/physics/p2/World.js line 313 @@ -9512,7 +9512,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 372 + src/physics/p2/World.js line 372 @@ -9646,7 +9646,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 527 + src/physics/p2/World.js line 527 @@ -9730,7 +9730,7 @@

Source:
- src/physics/p2/World.js line 1266 + src/physics/p2/World.js line 1266 @@ -9888,7 +9888,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1286 + src/physics/p2/World.js line 1286 @@ -9998,7 +9998,7 @@

Source:
- src/physics/p2/World.js line 1335 + src/physics/p2/World.js line 1335 @@ -10180,7 +10180,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1187 + src/physics/p2/World.js line 1187 @@ -10291,7 +10291,7 @@

Source:
- src/physics/p2/World.js line 1315 + src/physics/p2/World.js line 1315 @@ -10584,7 +10584,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1357 + src/physics/p2/World.js line 1357 @@ -10744,7 +10744,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1792 + src/physics/p2/World.js line 1792 @@ -10904,7 +10904,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1822 + src/physics/p2/World.js line 1822 @@ -11012,7 +11012,7 @@

Source:
- src/physics/p2/World.js line 733 + src/physics/p2/World.js line 733 @@ -11096,7 +11096,7 @@

Source:
- src/physics/p2/World.js line 295 + src/physics/p2/World.js line 295 @@ -11232,7 +11232,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1807 + src/physics/p2/World.js line 1807 @@ -11392,7 +11392,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1837 + src/physics/p2/World.js line 1837 @@ -11550,7 +11550,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 911 + src/physics/p2/World.js line 911 @@ -11708,7 +11708,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 283 + src/physics/p2/World.js line 283 @@ -11842,7 +11842,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1136 + src/physics/p2/World.js line 1136 @@ -12000,7 +12000,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1170 + src/physics/p2/World.js line 1170 @@ -12158,7 +12158,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 955 + src/physics/p2/World.js line 955 @@ -12267,7 +12267,7 @@

Source:
- src/physics/p2/World.js line 779 + src/physics/p2/World.js line 779 @@ -12351,7 +12351,7 @@

Source:
- src/physics/p2/World.js line 744 + src/physics/p2/World.js line 744 @@ -12814,7 +12814,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 646 + src/physics/p2/World.js line 646 @@ -12949,7 +12949,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 393 + src/physics/p2/World.js line 393 @@ -13107,7 +13107,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1201 + src/physics/p2/World.js line 1201 @@ -13268,7 +13268,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 413 + src/physics/p2/World.js line 413 @@ -13352,7 +13352,7 @@

Source:
- src/physics/p2/World.js line 1399 + src/physics/p2/World.js line 1399 @@ -13460,7 +13460,7 @@

Source:
- src/physics/p2/World.js line 755 + src/physics/p2/World.js line 755 @@ -13616,7 +13616,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 608 + src/physics/p2/World.js line 608 @@ -13659,9 +13659,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -13678,7 +13678,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -13707,7 +13707,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.html b/docs/Phaser.Physics.html index 908b22407..cac34ec0c 100644 --- a/docs/Phaser.Physics.html +++ b/docs/Phaser.Physics.html @@ -6,7 +6,7 @@ Phaser CE Class: Physics - + @@ -290,7 +290,7 @@
Parameters:
Source:
- src/physics/Physics.js line 21 + src/physics/Physics.js line 21 @@ -404,7 +404,7 @@
Type:
Source:
- src/physics/Physics.js line 73 + src/physics/Physics.js line 73 @@ -477,7 +477,7 @@
Type:
Source:
- src/physics/Physics.js line 91 + src/physics/Physics.js line 91 @@ -550,7 +550,7 @@
Type:
Source:
- src/physics/Physics.js line 97 + src/physics/Physics.js line 97 @@ -623,7 +623,7 @@
Type:
Source:
- src/physics/Physics.js line 103 + src/physics/Physics.js line 103 @@ -696,7 +696,7 @@
Type:
Source:
- src/physics/Physics.js line 85 + src/physics/Physics.js line 85 @@ -769,7 +769,7 @@
Type:
Source:
- src/physics/Physics.js line 79 + src/physics/Physics.js line 79 @@ -846,7 +846,7 @@
Type:
Source:
- src/physics/Physics.js line 38 + src/physics/Physics.js line 38 @@ -923,7 +923,7 @@
Type:
Source:
- src/physics/Physics.js line 53 + src/physics/Physics.js line 53 @@ -1000,7 +1000,7 @@
Type:
Source:
- src/physics/Physics.js line 58 + src/physics/Physics.js line 58 @@ -1077,7 +1077,7 @@
Type:
Source:
- src/physics/Physics.js line 33 + src/physics/Physics.js line 33 @@ -1154,7 +1154,7 @@
Type:
Source:
- src/physics/Physics.js line 28 + src/physics/Physics.js line 28 @@ -1231,7 +1231,7 @@
Type:
Source:
- src/physics/Physics.js line 63 + src/physics/Physics.js line 63 @@ -1308,7 +1308,7 @@
Type:
Source:
- src/physics/Physics.js line 48 + src/physics/Physics.js line 48 @@ -1385,7 +1385,7 @@
Type:
Source:
- src/physics/Physics.js line 43 + src/physics/Physics.js line 43 @@ -1463,7 +1463,7 @@

Source:
- src/physics/Physics.js line 349 + src/physics/Physics.js line 349 @@ -1547,7 +1547,7 @@

Source:
- src/physics/Physics.js line 399 + src/physics/Physics.js line 399 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/physics/Physics.js line 208 + src/physics/Physics.js line 208 @@ -1874,7 +1874,7 @@

Source:
- src/physics/Physics.js line 107 + src/physics/Physics.js line 107 @@ -1958,7 +1958,7 @@

Source:
- src/physics/Physics.js line 260 + src/physics/Physics.js line 260 @@ -2042,7 +2042,7 @@

Source:
- src/physics/Physics.js line 374 + src/physics/Physics.js line 374 @@ -2357,7 +2357,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 552 + src/physics/p2/World.js line 552 @@ -2441,7 +2441,7 @@

Source:
- src/physics/Physics.js line 314 + src/physics/Physics.js line 314 @@ -2751,7 +2751,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 569 + src/physics/p2/World.js line 569 @@ -2895,7 +2895,7 @@
Parameters:
Source:
- src/physics/Physics.js line 142 + src/physics/Physics.js line 142 @@ -2979,7 +2979,7 @@

Source:
- src/physics/Physics.js line 287 + src/physics/Physics.js line 287 @@ -3022,9 +3022,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3041,7 +3041,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3070,7 +3070,7 @@

- + diff --git a/docs/Phaser.Plugin.PathManager.html b/docs/Phaser.Plugin.PathManager.html index 34143872e..be77655b3 100644 --- a/docs/Phaser.Plugin.PathManager.html +++ b/docs/Phaser.Plugin.PathManager.html @@ -6,7 +6,7 @@ Phaser CE Class: PathManager - + @@ -255,7 +255,7 @@

Parameters:
Source:
- src/plugins/path/PathManagerPlugin.js line 17 + src/plugins/path/PathManagerPlugin.js line 17 @@ -360,7 +360,7 @@

Source:
- src/plugins/path/PathManagerPlugin.js line 47 + src/plugins/path/PathManagerPlugin.js line 47 @@ -403,9 +403,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -422,7 +422,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -451,7 +451,7 @@

- + diff --git a/docs/Phaser.Plugin.html b/docs/Phaser.Plugin.html index 21f967352..e508a59b1 100644 --- a/docs/Phaser.Plugin.html +++ b/docs/Phaser.Plugin.html @@ -6,7 +6,7 @@ Phaser CE Class: Plugin - + @@ -297,7 +297,7 @@

Parameters:
Source:
- src/core/Plugin.js line 27 + src/core/Plugin.js line 27 @@ -409,7 +409,7 @@
Type:
Source:
- src/core/Plugin.js line 45 + src/core/Plugin.js line 45 @@ -486,7 +486,7 @@
Type:
Source:
- src/core/Plugin.js line 34 + src/core/Plugin.js line 34 @@ -563,7 +563,7 @@
Type:
Source:
- src/core/Plugin.js line 81 + src/core/Plugin.js line 81 @@ -640,7 +640,7 @@
Type:
Source:
- src/core/Plugin.js line 69 + src/core/Plugin.js line 69 @@ -717,7 +717,7 @@
Type:
Source:
- src/core/Plugin.js line 57 + src/core/Plugin.js line 57 @@ -794,7 +794,7 @@
Type:
Source:
- src/core/Plugin.js line 75 + src/core/Plugin.js line 75 @@ -871,7 +871,7 @@
Type:
Source:
- src/core/Plugin.js line 63 + src/core/Plugin.js line 63 @@ -948,7 +948,7 @@
Type:
Source:
- src/core/Plugin.js line 39 + src/core/Plugin.js line 39 @@ -1025,7 +1025,7 @@
Type:
Source:
- src/core/Plugin.js line 51 + src/core/Plugin.js line 51 @@ -1103,7 +1103,7 @@

Source:
- src/core/Plugin.js line 119 + src/core/Plugin.js line 119 @@ -1188,7 +1188,7 @@

Source:
- src/core/Plugin.js line 111 + src/core/Plugin.js line 111 @@ -1273,7 +1273,7 @@

Source:
- src/core/Plugin.js line 87 + src/core/Plugin.js line 87 @@ -1358,7 +1358,7 @@

Source:
- src/core/Plugin.js line 103 + src/core/Plugin.js line 103 @@ -1443,7 +1443,7 @@

Source:
- src/core/Plugin.js line 95 + src/core/Plugin.js line 95 @@ -1486,9 +1486,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1534,7 +1534,7 @@

- + diff --git a/docs/Phaser.PluginManager.html b/docs/Phaser.PluginManager.html index d2e44ed52..49fd837b2 100644 --- a/docs/Phaser.PluginManager.html +++ b/docs/Phaser.PluginManager.html @@ -6,7 +6,7 @@ Phaser CE Class: PluginManager - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/core/PluginManager.js line 16 + src/core/PluginManager.js line 16 @@ -335,7 +335,7 @@
Type:
Source:
- src/core/PluginManager.js line 21 + src/core/PluginManager.js line 21 @@ -412,7 +412,7 @@
Type:
Source:
- src/core/PluginManager.js line 26 + src/core/PluginManager.js line 26 @@ -588,7 +588,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 44 + src/core/PluginManager.js line 44 @@ -696,7 +696,7 @@

Source:
- src/core/PluginManager.js line 279 + src/core/PluginManager.js line 279 @@ -781,7 +781,7 @@

Source:
- src/core/PluginManager.js line 259 + src/core/PluginManager.js line 259 @@ -867,7 +867,7 @@

Source:
- src/core/PluginManager.js line 218 + src/core/PluginManager.js line 218 @@ -952,7 +952,7 @@

Source:
- src/core/PluginManager.js line 178 + src/core/PluginManager.js line 178 @@ -1142,7 +1142,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 129 + src/core/PluginManager.js line 129 @@ -1226,7 +1226,7 @@

Source:
- src/core/PluginManager.js line 159 + src/core/PluginManager.js line 159 @@ -1311,7 +1311,7 @@

Source:
- src/core/PluginManager.js line 239 + src/core/PluginManager.js line 239 @@ -1396,7 +1396,7 @@

Source:
- src/core/PluginManager.js line 198 + src/core/PluginManager.js line 198 @@ -1439,9 +1439,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1458,7 +1458,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1487,7 +1487,7 @@

- + diff --git a/docs/Phaser.Point.html b/docs/Phaser.Point.html index 95ce12109..2053f159e 100644 --- a/docs/Phaser.Point.html +++ b/docs/Phaser.Point.html @@ -6,7 +6,7 @@ Phaser CE Class: Point - + @@ -293,7 +293,7 @@

Parameters:
Source:
- src/geom/Point.js line 18 + src/geom/Point.js line 18 @@ -398,7 +398,7 @@
Type:
Source:
- src/geom/Point.js line 37 + src/geom/Point.js line 37 @@ -475,7 +475,7 @@
Type:
Source:
- src/geom/Point.js line 26 + src/geom/Point.js line 26 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Point.js line 31 + src/geom/Point.js line 31 @@ -756,7 +756,7 @@
Parameters:
Source:
- src/geom/Point.js line 640 + src/geom/Point.js line 640 @@ -938,7 +938,7 @@
Parameters:
Source:
- src/geom/Point.js line 754 + src/geom/Point.js line 754 @@ -1140,7 +1140,7 @@
Parameters:
Source:
- src/geom/Point.js line 1000 + src/geom/Point.js line 1000 @@ -1390,7 +1390,7 @@
Parameters:
Source:
- src/geom/Point.js line 852 + src/geom/Point.js line 852 @@ -1624,7 +1624,7 @@
Parameters:
Source:
- src/geom/Point.js line 700 + src/geom/Point.js line 700 @@ -1806,7 +1806,7 @@
Parameters:
Source:
- src/geom/Point.js line 720 + src/geom/Point.js line 720 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/geom/Point.js line 802 + src/geom/Point.js line 802 @@ -2180,7 +2180,7 @@

Source:
- src/geom/Point.js line 1073 + src/geom/Point.js line 1073 @@ -2416,7 +2416,7 @@
Parameters:
Source:
- src/geom/Point.js line 680 + src/geom/Point.js line 680 @@ -2682,7 +2682,7 @@
Parameters:
Source:
- src/geom/Point.js line 784 + src/geom/Point.js line 784 @@ -2884,7 +2884,7 @@
Parameters:
Source:
- src/geom/Point.js line 768 + src/geom/Point.js line 768 @@ -3086,7 +3086,7 @@
Parameters:
Source:
- src/geom/Point.js line 932 + src/geom/Point.js line 932 @@ -3288,7 +3288,7 @@
Parameters:
Source:
- src/geom/Point.js line 916 + src/geom/Point.js line 916 @@ -3543,7 +3543,7 @@
Parameters:
Source:
- src/geom/Point.js line 1041 + src/geom/Point.js line 1041 @@ -3745,7 +3745,7 @@
Parameters:
Source:
- src/geom/Point.js line 820 + src/geom/Point.js line 820 @@ -3979,7 +3979,7 @@
Parameters:
Source:
- src/geom/Point.js line 868 + src/geom/Point.js line 868 @@ -4213,7 +4213,7 @@
Parameters:
Source:
- src/geom/Point.js line 892 + src/geom/Point.js line 892 @@ -4577,7 +4577,7 @@
Parameters:
Source:
- src/geom/Point.js line 955 + src/geom/Point.js line 955 @@ -4779,7 +4779,7 @@
Parameters:
Source:
- src/geom/Point.js line 836 + src/geom/Point.js line 836 @@ -5013,7 +5013,7 @@
Parameters:
Source:
- src/geom/Point.js line 660 + src/geom/Point.js line 660 @@ -5195,7 +5195,7 @@
Parameters:
Source:
- src/geom/Point.js line 122 + src/geom/Point.js line 122 @@ -5412,7 +5412,7 @@
Parameters:
Source:
- src/geom/Point.js line 343 + src/geom/Point.js line 343 @@ -5662,7 +5662,7 @@
Parameters:
Source:
- src/geom/Point.js line 357 + src/geom/Point.js line 357 @@ -5840,7 +5840,7 @@
Parameters:
Source:
- src/geom/Point.js line 381 + src/geom/Point.js line 381 @@ -5948,7 +5948,7 @@

Source:
- src/geom/Point.js line 600 + src/geom/Point.js line 600 @@ -6130,7 +6130,7 @@
Parameters:
Source:
- src/geom/Point.js line 216 + src/geom/Point.js line 216 @@ -6312,7 +6312,7 @@
Parameters:
Source:
- src/geom/Point.js line 186 + src/geom/Point.js line 186 @@ -6494,7 +6494,7 @@
Parameters:
Source:
- src/geom/Point.js line 201 + src/geom/Point.js line 201 @@ -6652,7 +6652,7 @@
Parameters:
Source:
- src/geom/Point.js line 232 + src/geom/Point.js line 232 @@ -6822,7 +6822,7 @@
Parameters:
Source:
- src/geom/Point.js line 252 + src/geom/Point.js line 252 @@ -6980,7 +6980,7 @@
Parameters:
Source:
- src/geom/Point.js line 43 + src/geom/Point.js line 43 @@ -7138,7 +7138,7 @@
Parameters:
Source:
- src/geom/Point.js line 274 + src/geom/Point.js line 274 @@ -7296,7 +7296,7 @@
Parameters:
Source:
- src/geom/Point.js line 539 + src/geom/Point.js line 539 @@ -7498,7 +7498,7 @@
Parameters:
Source:
- src/geom/Point.js line 290 + src/geom/Point.js line 290 @@ -7680,7 +7680,7 @@
Parameters:
Source:
- src/geom/Point.js line 170 + src/geom/Point.js line 170 @@ -7838,7 +7838,7 @@
Parameters:
Source:
- src/geom/Point.js line 526 + src/geom/Point.js line 526 @@ -7999,7 +7999,7 @@
Parameters:
Source:
- src/geom/Point.js line 304 + src/geom/Point.js line 304 @@ -8181,7 +8181,7 @@
Parameters:
Source:
- src/geom/Point.js line 317 + src/geom/Point.js line 317 @@ -8339,7 +8339,7 @@
Parameters:
Source:
- src/geom/Point.js line 495 + src/geom/Point.js line 495 @@ -8454,7 +8454,7 @@

Source:
- src/geom/Point.js line 588 + src/geom/Point.js line 588 @@ -8562,7 +8562,7 @@

Source:
- src/geom/Point.js line 420 + src/geom/Point.js line 420 @@ -8670,7 +8670,7 @@

Source:
- src/geom/Point.js line 432 + src/geom/Point.js line 432 @@ -8778,7 +8778,7 @@

Source:
- src/geom/Point.js line 56 + src/geom/Point.js line 56 @@ -8886,7 +8886,7 @@

Source:
- src/geom/Point.js line 514 + src/geom/Point.js line 514 @@ -9044,7 +9044,7 @@
Parameters:
Source:
- src/geom/Point.js line 476 + src/geom/Point.js line 476 @@ -9233,7 +9233,7 @@
Parameters:
Source:
- src/geom/Point.js line 154 + src/geom/Point.js line 154 @@ -9341,7 +9341,7 @@

Source:
- src/geom/Point.js line 457 + src/geom/Point.js line 457 @@ -9449,7 +9449,7 @@

Source:
- src/geom/Point.js line 576 + src/geom/Point.js line 576 @@ -9557,7 +9557,7 @@

Source:
- src/geom/Point.js line 552 + src/geom/Point.js line 552 @@ -9881,7 +9881,7 @@
Parameters:
Source:
- src/geom/Point.js line 403 + src/geom/Point.js line 403 @@ -9989,7 +9989,7 @@

Source:
- src/geom/Point.js line 612 + src/geom/Point.js line 612 @@ -10097,7 +10097,7 @@

Source:
- src/geom/Point.js line 564 + src/geom/Point.js line 564 @@ -10151,7 +10151,7 @@
Returns:

- set(obj, x [, y]) + set(x [, y])

@@ -10160,7 +10160,10 @@

-

Sets the x and y values of an object and returns the object.

+

Sets the x and y values of this Point object to the given values. +If you omit the y value then the x value will be applied to both, for example: +Point.set(2) is the same as Point.set(2, 2)

+

Identical to setTo.

@@ -10195,38 +10198,6 @@

Parameters:
- - - obj - - - - - -object - - - - - - - - - - - - - - - - - - -

An object with numeric x and y properties.

- - - - x @@ -10254,7 +10225,7 @@
Parameters:
-

The x value.

+

The horizontal value of this point.

@@ -10288,7 +10259,7 @@
Parameters:
-

The y value. If not given the x value will be used in its place.

+

The vertical value of this point. If not given the x value will be used in its place.

@@ -10331,7 +10302,7 @@
Parameters:
Source:
- src/geom/Point.js line 1086 + src/geom/Point.js line 86 @@ -10357,7 +10328,7 @@
Returns:
-

The object. Useful for chaining method calls.

+

This Point object. Useful for chaining method calls.

@@ -10368,7 +10339,7 @@
Returns:
-object +Phaser.Point @@ -10385,7 +10356,7 @@
Returns:

- set(x [, y]) + set(obj, x [, y])

@@ -10394,10 +10365,7 @@

-

Sets the x and y values of this Point object to the given values. -If you omit the y value then the x value will be applied to both, for example: -Point.set(2) is the same as Point.set(2, 2)

-

Identical to setTo.

+

Sets the x and y values of an object and returns the object.

@@ -10432,6 +10400,38 @@

Parameters:
+ + + obj + + + + + +object + + + + + + + + + + + + + + + + + + +

An object with numeric x and y properties.

+ + + + x @@ -10459,7 +10459,7 @@
Parameters:
-

The horizontal value of this point.

+

The x value.

@@ -10493,7 +10493,7 @@
Parameters:
-

The vertical value of this point. If not given the x value will be used in its place.

+

The y value. If not given the x value will be used in its place.

@@ -10536,7 +10536,7 @@
Parameters:
Source:
- src/geom/Point.js line 86 + src/geom/Point.js line 1086 @@ -10562,7 +10562,7 @@
Returns:
-

This Point object. Useful for chaining method calls.

+

The object. Useful for chaining method calls.

@@ -10573,7 +10573,7 @@
Returns:
-Phaser.Point +object @@ -10694,7 +10694,7 @@
Parameters:
Source:
- src/geom/Point.js line 444 + src/geom/Point.js line 444 @@ -10899,7 +10899,7 @@
Parameters:
Source:
- src/geom/Point.js line 68 + src/geom/Point.js line 68 @@ -11153,7 +11153,7 @@
Parameters:
Source:
- src/geom/Point.js line 104 + src/geom/Point.js line 104 @@ -11361,7 +11361,7 @@
Parameters:
Source:
- src/geom/Point.js line 1105 + src/geom/Point.js line 1105 @@ -11543,7 +11543,7 @@
Parameters:
Source:
- src/geom/Point.js line 138 + src/geom/Point.js line 138 @@ -11651,7 +11651,7 @@

Source:
- src/geom/Point.js line 624 + src/geom/Point.js line 624 @@ -11718,9 +11718,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -11737,7 +11737,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -11766,7 +11766,7 @@
Returns:
- + diff --git a/docs/Phaser.Pointer.html b/docs/Phaser.Pointer.html index 57d666b15..ac2ac9cf2 100644 --- a/docs/Phaser.Pointer.html +++ b/docs/Phaser.Pointer.html @@ -6,7 +6,7 @@ Phaser CE Class: Pointer - + @@ -294,7 +294,7 @@
Parameters:
Source:
- src/input/Pointer.js line 16 + src/input/Pointer.js line 16 @@ -400,7 +400,7 @@
Type:
Source:
- src/input/Pointer.js line 397 + src/input/Pointer.js line 397 @@ -477,7 +477,7 @@
Type:
Source:
- src/input/Pointer.js line 412 + src/input/Pointer.js line 412 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Pointer.js line 405 + src/input/Pointer.js line 405 @@ -632,7 +632,7 @@
Type:
Source:
- src/input/Pointer.js line 375 + src/input/Pointer.js line 375 @@ -709,7 +709,7 @@
Type:
Source:
- src/input/Pointer.js line 389 + src/input/Pointer.js line 389 @@ -786,7 +786,7 @@
Type:
Source:
- src/input/Pointer.js line 368 + src/input/Pointer.js line 368 @@ -863,7 +863,7 @@
Type:
Source:
- src/input/Pointer.js line 382 + src/input/Pointer.js line 382 @@ -940,7 +940,7 @@
Type:
Source:
- src/input/Pointer.js line 316 + src/input/Pointer.js line 316 @@ -1020,7 +1020,7 @@
Type:
Source:
- src/input/Pointer.js line 120 + src/input/Pointer.js line 120 @@ -1099,7 +1099,7 @@
Type:
Source:
- src/input/Pointer.js line 70 + src/input/Pointer.js line 70 @@ -1177,7 +1177,7 @@
Type:
Source:
- src/input/Pointer.js line 344 + src/input/Pointer.js line 344 @@ -1254,7 +1254,7 @@
Type:
Source:
- src/input/Pointer.js line 181 + src/input/Pointer.js line 181 @@ -1331,7 +1331,7 @@
Type:
Source:
- src/input/Pointer.js line 186 + src/input/Pointer.js line 186 @@ -1408,7 +1408,7 @@
Type:
Source:
- src/input/Pointer.js line 322 + src/input/Pointer.js line 322 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/input/Pointer.js line 1216 + src/input/Pointer.js line 1216 @@ -1567,7 +1567,7 @@
Type:
Source:
- src/input/Pointer.js line 146 + src/input/Pointer.js line 146 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/input/Pointer.js line 38 + src/input/Pointer.js line 38 @@ -1731,7 +1731,7 @@
Type:
Source:
- src/input/Pointer.js line 133 + src/input/Pointer.js line 133 @@ -1808,7 +1808,7 @@
Type:
Source:
- src/input/Pointer.js line 21 + src/input/Pointer.js line 21 @@ -1885,7 +1885,7 @@
Type:
Source:
- src/input/Pointer.js line 26 + src/input/Pointer.js line 26 @@ -1962,7 +1962,7 @@
Type:
Source:
- src/input/Pointer.js line 44 + src/input/Pointer.js line 44 @@ -2050,7 +2050,7 @@
Type:
Source:
- src/input/Pointer.js line 310 + src/input/Pointer.js line 310 @@ -2128,7 +2128,7 @@
Type:
Source:
- src/input/Pointer.js line 255 + src/input/Pointer.js line 255 @@ -2205,7 +2205,7 @@
Type:
Source:
- src/input/Pointer.js line 247 + src/input/Pointer.js line 247 @@ -2290,7 +2290,7 @@
Type:
Source:
- src/input/Pointer.js line 263 + src/input/Pointer.js line 263 @@ -2369,7 +2369,7 @@
Type:
Source:
- src/input/Pointer.js line 81 + src/input/Pointer.js line 81 @@ -2449,7 +2449,7 @@
Type:
Source:
- src/input/Pointer.js line 94 + src/input/Pointer.js line 94 @@ -2526,7 +2526,7 @@
Type:
Source:
- src/input/Pointer.js line 224 + src/input/Pointer.js line 224 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/input/Pointer.js line 230 + src/input/Pointer.js line 230 @@ -2680,7 +2680,7 @@
Type:
Source:
- src/input/Pointer.js line 293 + src/input/Pointer.js line 293 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/input/Pointer.js line 191 + src/input/Pointer.js line 191 @@ -2834,7 +2834,7 @@
Type:
Source:
- src/input/Pointer.js line 196 + src/input/Pointer.js line 196 @@ -2911,7 +2911,7 @@
Type:
Source:
- src/input/Pointer.js line 50 + src/input/Pointer.js line 50 @@ -2988,7 +2988,7 @@
Type:
Source:
- src/input/Pointer.js line 55 + src/input/Pointer.js line 55 @@ -3065,7 +3065,7 @@
Type:
Source:
- src/input/Pointer.js line 327 + src/input/Pointer.js line 327 @@ -3142,7 +3142,7 @@
Type:
Source:
- src/input/Pointer.js line 332 + src/input/Pointer.js line 332 @@ -3219,7 +3219,7 @@
Type:
Source:
- src/input/Pointer.js line 337 + src/input/Pointer.js line 337 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/input/Pointer.js line 281 + src/input/Pointer.js line 281 @@ -3373,7 +3373,7 @@
Type:
Source:
- src/input/Pointer.js line 212 + src/input/Pointer.js line 212 @@ -3450,7 +3450,7 @@
Type:
Source:
- src/input/Pointer.js line 218 + src/input/Pointer.js line 218 @@ -3530,7 +3530,7 @@
Type:
Source:
- src/input/Pointer.js line 107 + src/input/Pointer.js line 107 @@ -3607,7 +3607,7 @@
Type:
Source:
- src/input/Pointer.js line 201 + src/input/Pointer.js line 201 @@ -3684,7 +3684,7 @@
Type:
Source:
- src/input/Pointer.js line 206 + src/input/Pointer.js line 206 @@ -3761,7 +3761,7 @@
Type:
Source:
- src/input/Pointer.js line 61 + src/input/Pointer.js line 61 @@ -3838,7 +3838,7 @@
Type:
Source:
- src/input/Pointer.js line 299 + src/input/Pointer.js line 299 @@ -3915,7 +3915,7 @@
Type:
Source:
- src/input/Pointer.js line 269 + src/input/Pointer.js line 269 @@ -3992,7 +3992,7 @@
Type:
Source:
- src/input/Pointer.js line 275 + src/input/Pointer.js line 275 @@ -4069,7 +4069,7 @@
Type:
Source:
- src/input/Pointer.js line 287 + src/input/Pointer.js line 287 @@ -4146,7 +4146,7 @@
Type:
Source:
- src/input/Pointer.js line 32 + src/input/Pointer.js line 32 @@ -4223,7 +4223,7 @@
Type:
Source:
- src/input/Pointer.js line 176 + src/input/Pointer.js line 176 @@ -4300,7 +4300,7 @@
Type:
Source:
- src/input/Pointer.js line 1240 + src/input/Pointer.js line 1240 @@ -4377,7 +4377,7 @@
Type:
Source:
- src/input/Pointer.js line 1256 + src/input/Pointer.js line 1256 @@ -4454,7 +4454,7 @@
Type:
Source:
- src/input/Pointer.js line 236 + src/input/Pointer.js line 236 @@ -4531,7 +4531,7 @@
Type:
Source:
- src/input/Pointer.js line 242 + src/input/Pointer.js line 242 @@ -4739,7 +4739,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1097 + src/input/Pointer.js line 1097 @@ -4887,7 +4887,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1065 + src/input/Pointer.js line 1065 @@ -5059,7 +5059,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1081 + src/input/Pointer.js line 1081 @@ -5223,7 +5223,7 @@
Parameters:
Source:
- src/input/Pointer.js line 969 + src/input/Pointer.js line 969 @@ -5419,7 +5419,7 @@
Parameters:
Source:
- src/input/Pointer.js line 739 + src/input/Pointer.js line 739 @@ -5573,7 +5573,7 @@
Parameters:
Source:
- src/input/Pointer.js line 830 + src/input/Pointer.js line 830 @@ -5681,7 +5681,7 @@

Source:
- src/input/Pointer.js line 1171 + src/input/Pointer.js line 1171 @@ -5765,7 +5765,7 @@

Source:
- src/input/Pointer.js line 416 + src/input/Pointer.js line 416 @@ -5849,7 +5849,7 @@

Source:
- src/input/Pointer.js line 1201 + src/input/Pointer.js line 1201 @@ -5983,7 +5983,7 @@
Parameters:
Source:
- src/input/Pointer.js line 617 + src/input/Pointer.js line 617 @@ -6123,7 +6123,7 @@
Parameters:
Source:
- src/input/Pointer.js line 982 + src/input/Pointer.js line 982 @@ -6316,7 +6316,7 @@
Parameters:
Source:
- src/input/Pointer.js line 910 + src/input/Pointer.js line 910 @@ -6400,7 +6400,7 @@

Source:
- src/input/Pointer.js line 687 + src/input/Pointer.js line 687 @@ -6535,7 +6535,7 @@
Parameters:
Source:
- src/input/Pointer.js line 593 + src/input/Pointer.js line 593 @@ -6578,9 +6578,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -6597,7 +6597,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -6626,7 +6626,7 @@
Parameters:
- + diff --git a/docs/Phaser.PointerMode.html b/docs/Phaser.PointerMode.html index d0b65ac8e..625a57ee9 100644 --- a/docs/Phaser.PointerMode.html +++ b/docs/Phaser.PointerMode.html @@ -6,7 +6,7 @@ Phaser CE Class: PointerMode - + @@ -184,7 +184,7 @@

Source:
- src/input/Pointer.js line 1282 + src/input/Pointer.js line 1282 @@ -278,7 +278,7 @@

Source:
- src/input/Pointer.js line 1297 + src/input/Pointer.js line 1297 @@ -346,7 +346,7 @@

Source:
- src/input/Pointer.js line 1291 + src/input/Pointer.js line 1291 @@ -379,9 +379,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -398,7 +398,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -427,7 +427,7 @@

- + diff --git a/docs/Phaser.Polygon.html b/docs/Phaser.Polygon.html index fed3d105e..4432e3c9f 100644 --- a/docs/Phaser.Polygon.html +++ b/docs/Phaser.Polygon.html @@ -6,7 +6,7 @@ Phaser CE Class: Polygon - + @@ -248,7 +248,7 @@

Parameters:
Source:
- src/geom/Polygon.js line 24 + src/geom/Polygon.js line 24 @@ -353,7 +353,7 @@
Type:
Source:
- src/geom/Polygon.js line 29 + src/geom/Polygon.js line 29 @@ -430,7 +430,7 @@
Type:
Source:
- src/geom/Polygon.js line 45 + src/geom/Polygon.js line 45 @@ -507,7 +507,7 @@
Type:
Source:
- src/geom/Polygon.js line 50 + src/geom/Polygon.js line 50 @@ -585,7 +585,7 @@
Type:
Source:
- src/geom/Polygon.js line 294 + src/geom/Polygon.js line 294 @@ -662,7 +662,7 @@
Type:
Source:
- src/geom/Polygon.js line 55 + src/geom/Polygon.js line 55 @@ -811,7 +811,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 109 + src/geom/Polygon.js line 109 @@ -993,7 +993,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 134 + src/geom/Polygon.js line 134 @@ -1103,7 +1103,7 @@

Source:
- src/geom/Polygon.js line 91 + src/geom/Polygon.js line 91 @@ -1281,7 +1281,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 186 + src/geom/Polygon.js line 186 @@ -1451,7 +1451,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 61 + src/geom/Polygon.js line 61 @@ -1518,9 +1518,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1537,7 +1537,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1566,7 +1566,7 @@
Returns:
- + diff --git a/docs/Phaser.QuadTree.html b/docs/Phaser.QuadTree.html index 8d7aa9202..011209c45 100644 --- a/docs/Phaser.QuadTree.html +++ b/docs/Phaser.QuadTree.html @@ -6,7 +6,7 @@ Phaser CE Class: QuadTree - + @@ -476,7 +476,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 23 + src/math/QuadTree.js line 23 @@ -581,7 +581,7 @@
Type:
Source:
- src/math/QuadTree.js line 45 + src/math/QuadTree.js line 45 @@ -658,7 +658,7 @@
Type:
Source:
- src/math/QuadTree.js line 40 + src/math/QuadTree.js line 40 @@ -742,7 +742,7 @@
Type:
Source:
- src/math/QuadTree.js line 35 + src/math/QuadTree.js line 35 @@ -826,7 +826,7 @@
Type:
Source:
- src/math/QuadTree.js line 29 + src/math/QuadTree.js line 29 @@ -903,7 +903,7 @@
Type:
Source:
- src/math/QuadTree.js line 55 + src/math/QuadTree.js line 55 @@ -980,7 +980,7 @@
Type:
Source:
- src/math/QuadTree.js line 50 + src/math/QuadTree.js line 50 @@ -1058,7 +1058,7 @@

Source:
- src/math/QuadTree.js line 295 + src/math/QuadTree.js line 295 @@ -1195,7 +1195,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 203 + src/math/QuadTree.js line 203 @@ -1356,7 +1356,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 151 + src/math/QuadTree.js line 151 @@ -1490,7 +1490,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 103 + src/math/QuadTree.js line 103 @@ -1627,7 +1627,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 115 + src/math/QuadTree.js line 115 @@ -2005,7 +2005,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 69 + src/math/QuadTree.js line 69 @@ -2142,7 +2142,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 247 + src/math/QuadTree.js line 247 @@ -2252,7 +2252,7 @@

Source:
- src/math/QuadTree.js line 130 + src/math/QuadTree.js line 130 @@ -2295,9 +2295,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2314,7 +2314,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2343,7 +2343,7 @@

- + diff --git a/docs/Phaser.RandomDataGenerator.html b/docs/Phaser.RandomDataGenerator.html index d0ca685f2..b1036b2f1 100644 --- a/docs/Phaser.RandomDataGenerator.html +++ b/docs/Phaser.RandomDataGenerator.html @@ -6,7 +6,7 @@ Phaser CE Class: RandomDataGenerator - + @@ -252,7 +252,7 @@

Parameters:
Source:
- src/math/RandomDataGenerator.js line 23 + src/math/RandomDataGenerator.js line 23 @@ -354,7 +354,7 @@

Source:
- src/math/RandomDataGenerator.js line 310 + src/math/RandomDataGenerator.js line 310 @@ -537,7 +537,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 198 + src/math/RandomDataGenerator.js line 198 @@ -645,7 +645,7 @@

Source:
- src/math/RandomDataGenerator.js line 160 + src/math/RandomDataGenerator.js line 160 @@ -753,7 +753,7 @@

Source:
- src/math/RandomDataGenerator.js line 148 + src/math/RandomDataGenerator.js line 148 @@ -935,7 +935,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 184 + src/math/RandomDataGenerator.js line 184 @@ -1043,7 +1043,7 @@

Source:
- src/math/RandomDataGenerator.js line 227 + src/math/RandomDataGenerator.js line 227 @@ -1201,7 +1201,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 258 + src/math/RandomDataGenerator.js line 258 @@ -1309,7 +1309,7 @@

Source:
- src/math/RandomDataGenerator.js line 172 + src/math/RandomDataGenerator.js line 172 @@ -1491,7 +1491,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 213 + src/math/RandomDataGenerator.js line 213 @@ -1599,7 +1599,7 @@

Source:
- src/math/RandomDataGenerator.js line 271 + src/math/RandomDataGenerator.js line 271 @@ -1758,7 +1758,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 83 + src/math/RandomDataGenerator.js line 83 @@ -1911,7 +1911,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 322 + src/math/RandomDataGenerator.js line 322 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 296 + src/math/RandomDataGenerator.js line 296 @@ -2201,7 +2201,7 @@

Source:
- src/math/RandomDataGenerator.js line 239 + src/math/RandomDataGenerator.js line 239 @@ -2359,7 +2359,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 283 + src/math/RandomDataGenerator.js line 283 @@ -2426,9 +2426,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2445,7 +2445,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2474,7 +2474,7 @@
Returns:
- + diff --git a/docs/Phaser.Rectangle.html b/docs/Phaser.Rectangle.html index 98eccd990..c3d117e9d 100644 --- a/docs/Phaser.Rectangle.html +++ b/docs/Phaser.Rectangle.html @@ -6,7 +6,7 @@ Phaser CE Class: Rectangle - + @@ -303,7 +303,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 18 + src/geom/Rectangle.js line 18 @@ -408,7 +408,7 @@
Type:
Source:
- src/geom/Rectangle.js line 527 + src/geom/Rectangle.js line 527 @@ -485,7 +485,7 @@
Type:
Source:
- src/geom/Rectangle.js line 553 + src/geom/Rectangle.js line 553 @@ -562,7 +562,7 @@
Type:
Source:
- src/geom/Rectangle.js line 571 + src/geom/Rectangle.js line 571 @@ -639,7 +639,7 @@
Type:
Source:
- src/geom/Rectangle.js line 660 + src/geom/Rectangle.js line 660 @@ -716,7 +716,7 @@
Type:
Source:
- src/geom/Rectangle.js line 677 + src/geom/Rectangle.js line 677 @@ -794,7 +794,7 @@
Type:
Source:
- src/geom/Rectangle.js line 785 + src/geom/Rectangle.js line 785 @@ -871,7 +871,7 @@
Type:
Source:
- src/geom/Rectangle.js line 514 + src/geom/Rectangle.js line 514 @@ -948,7 +948,7 @@
Type:
Source:
- src/geom/Rectangle.js line 501 + src/geom/Rectangle.js line 501 @@ -1025,7 +1025,7 @@
Type:
Source:
- src/geom/Rectangle.js line 43 + src/geom/Rectangle.js line 43 @@ -1102,7 +1102,7 @@
Type:
Source:
- src/geom/Rectangle.js line 589 + src/geom/Rectangle.js line 589 @@ -1179,7 +1179,7 @@
Type:
Source:
- src/geom/Rectangle.js line 646 + src/geom/Rectangle.js line 646 @@ -1256,7 +1256,7 @@
Type:
Source:
- src/geom/Rectangle.js line 694 + src/geom/Rectangle.js line 694 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/geom/Rectangle.js line 710 + src/geom/Rectangle.js line 710 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/geom/Rectangle.js line 611 + src/geom/Rectangle.js line 611 @@ -1488,7 +1488,7 @@
Type:
Source:
- src/geom/Rectangle.js line 726 + src/geom/Rectangle.js line 726 @@ -1565,7 +1565,7 @@
Type:
Source:
- src/geom/Rectangle.js line 749 + src/geom/Rectangle.js line 749 @@ -1642,7 +1642,7 @@
Type:
Source:
- src/geom/Rectangle.js line 767 + src/geom/Rectangle.js line 767 @@ -1719,7 +1719,7 @@
Type:
Source:
- src/geom/Rectangle.js line 49 + src/geom/Rectangle.js line 49 @@ -1796,7 +1796,7 @@
Type:
Source:
- src/geom/Rectangle.js line 632 + src/geom/Rectangle.js line 632 @@ -1873,7 +1873,7 @@
Type:
Source:
- src/geom/Rectangle.js line 38 + src/geom/Rectangle.js line 38 @@ -1950,7 +1950,7 @@
Type:
Source:
- src/geom/Rectangle.js line 28 + src/geom/Rectangle.js line 28 @@ -2027,7 +2027,7 @@
Type:
Source:
- src/geom/Rectangle.js line 33 + src/geom/Rectangle.js line 33 @@ -2199,7 +2199,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 864 + src/geom/Rectangle.js line 864 @@ -2401,7 +2401,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 904 + src/geom/Rectangle.js line 904 @@ -2583,7 +2583,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 940 + src/geom/Rectangle.js line 940 @@ -2861,7 +2861,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 923 + src/geom/Rectangle.js line 923 @@ -3044,7 +3044,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 953 + src/geom/Rectangle.js line 953 @@ -3246,7 +3246,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 886 + src/geom/Rectangle.js line 886 @@ -3425,7 +3425,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 973 + src/geom/Rectangle.js line 973 @@ -3631,7 +3631,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 810 + src/geom/Rectangle.js line 810 @@ -3813,7 +3813,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 829 + src/geom/Rectangle.js line 829 @@ -4047,7 +4047,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1000 + src/geom/Rectangle.js line 1000 @@ -4230,7 +4230,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1027 + src/geom/Rectangle.js line 1027 @@ -4484,7 +4484,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1046 + src/geom/Rectangle.js line 1046 @@ -4666,7 +4666,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 987 + src/geom/Rectangle.js line 987 @@ -4868,7 +4868,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 842 + src/geom/Rectangle.js line 842 @@ -5102,7 +5102,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1064 + src/geom/Rectangle.js line 1064 @@ -5304,7 +5304,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1083 + src/geom/Rectangle.js line 1083 @@ -5412,7 +5412,7 @@

Source:
- src/geom/Rectangle.js line 163 + src/geom/Rectangle.js line 163 @@ -5496,7 +5496,7 @@

Source:
- src/geom/Rectangle.js line 174 + src/geom/Rectangle.js line 174 @@ -5654,7 +5654,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 122 + src/geom/Rectangle.js line 122 @@ -5824,7 +5824,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 271 + src/geom/Rectangle.js line 271 @@ -6002,7 +6002,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 283 + src/geom/Rectangle.js line 283 @@ -6161,7 +6161,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 296 + src/geom/Rectangle.js line 296 @@ -6319,7 +6319,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 187 + src/geom/Rectangle.js line 187 @@ -6477,7 +6477,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 199 + src/geom/Rectangle.js line 199 @@ -6635,7 +6635,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 211 + src/geom/Rectangle.js line 211 @@ -6794,7 +6794,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 309 + src/geom/Rectangle.js line 309 @@ -6902,7 +6902,7 @@

Source:
- src/geom/Rectangle.js line 139 + src/geom/Rectangle.js line 139 @@ -6986,7 +6986,7 @@

Source:
- src/geom/Rectangle.js line 150 + src/geom/Rectangle.js line 150 @@ -7172,7 +7172,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 398 + src/geom/Rectangle.js line 398 @@ -7354,7 +7354,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 228 + src/geom/Rectangle.js line 228 @@ -7536,7 +7536,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 322 + src/geom/Rectangle.js line 322 @@ -7695,7 +7695,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 335 + src/geom/Rectangle.js line 335 @@ -7949,7 +7949,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 349 + src/geom/Rectangle.js line 349 @@ -8131,7 +8131,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 55 + src/geom/Rectangle.js line 55 @@ -8289,7 +8289,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 71 + src/geom/Rectangle.js line 71 @@ -8463,7 +8463,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 379 + src/geom/Rectangle.js line 379 @@ -8646,7 +8646,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 253 + src/geom/Rectangle.js line 253 @@ -8848,7 +8848,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 103 + src/geom/Rectangle.js line 103 @@ -9078,7 +9078,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 83 + src/geom/Rectangle.js line 83 @@ -9350,7 +9350,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 451 + src/geom/Rectangle.js line 451 @@ -9522,7 +9522,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 241 + src/geom/Rectangle.js line 241 @@ -9630,7 +9630,7 @@

Source:
- src/geom/Rectangle.js line 488 + src/geom/Rectangle.js line 488 @@ -9832,7 +9832,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 366 + src/geom/Rectangle.js line 366 @@ -9899,9 +9899,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -9918,7 +9918,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -9947,7 +9947,7 @@
Returns:
- + diff --git a/docs/Phaser.RenderTexture.html b/docs/Phaser.RenderTexture.html index af7cc2f77..75061e721 100644 --- a/docs/Phaser.RenderTexture.html +++ b/docs/Phaser.RenderTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: RenderTexture - + @@ -447,7 +447,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 21 + src/gameobjects/RenderTexture.js line 21 @@ -568,7 +568,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 66 + src/gameobjects/RenderTexture.js line 66 @@ -660,7 +660,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -751,7 +751,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -828,7 +828,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 34 + src/gameobjects/RenderTexture.js line 34 @@ -919,7 +919,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -1005,7 +1005,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -1082,7 +1082,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 39 + src/gameobjects/RenderTexture.js line 39 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -1248,7 +1248,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 84 + src/gameobjects/RenderTexture.js line 84 @@ -1334,7 +1334,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -1420,7 +1420,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -1508,7 +1508,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -1594,7 +1594,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 44 + src/gameobjects/RenderTexture.js line 44 @@ -1749,7 +1749,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 107 + src/gameobjects/RenderTexture.js line 107 @@ -1840,7 +1840,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -1918,7 +1918,7 @@

Source:
- src/gameobjects/RenderTexture.js line 258 + src/gameobjects/RenderTexture.js line 258 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -2332,7 +2332,7 @@

Source:
- src/gameobjects/RenderTexture.js line 399 + src/gameobjects/RenderTexture.js line 399 @@ -2440,7 +2440,7 @@

Source:
- src/gameobjects/RenderTexture.js line 411 + src/gameobjects/RenderTexture.js line 411 @@ -2548,7 +2548,7 @@

Source:
- src/gameobjects/RenderTexture.js line 384 + src/gameobjects/RenderTexture.js line 384 @@ -2813,7 +2813,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 178 + src/gameobjects/RenderTexture.js line 178 @@ -3089,7 +3089,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 150 + src/gameobjects/RenderTexture.js line 150 @@ -3365,7 +3365,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 118 + src/gameobjects/RenderTexture.js line 118 @@ -3547,7 +3547,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 215 + src/gameobjects/RenderTexture.js line 215 @@ -3690,7 +3690,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -3733,9 +3733,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3752,7 +3752,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3781,7 +3781,7 @@
Parameters:
- + diff --git a/docs/Phaser.RequestAnimationFrame.html b/docs/Phaser.RequestAnimationFrame.html index 1d954ed6c..2cdfe6163 100644 --- a/docs/Phaser.RequestAnimationFrame.html +++ b/docs/Phaser.RequestAnimationFrame.html @@ -6,7 +6,7 @@ Phaser CE Class: RequestAnimationFrame - + @@ -286,7 +286,7 @@
Parameters:
Source:
- src/utils/RequestAnimationFrame.js line 15 + src/utils/RequestAnimationFrame.js line 15 @@ -391,7 +391,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 33 + src/utils/RequestAnimationFrame.js line 33 @@ -468,7 +468,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 22 + src/utils/RequestAnimationFrame.js line 22 @@ -545,7 +545,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 28 + src/utils/RequestAnimationFrame.js line 28 @@ -623,7 +623,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 162 + src/utils/RequestAnimationFrame.js line 162 @@ -727,7 +727,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 153 + src/utils/RequestAnimationFrame.js line 153 @@ -831,7 +831,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 70 + src/utils/RequestAnimationFrame.js line 70 @@ -915,7 +915,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 134 + src/utils/RequestAnimationFrame.js line 134 @@ -999,7 +999,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 103 + src/utils/RequestAnimationFrame.js line 103 @@ -1083,7 +1083,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 119 + src/utils/RequestAnimationFrame.js line 119 @@ -1126,9 +1126,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1145,7 +1145,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1174,7 +1174,7 @@

- + diff --git a/docs/Phaser.RetroFont.html b/docs/Phaser.RetroFont.html index b3b865d37..cf687640f 100644 --- a/docs/Phaser.RetroFont.html +++ b/docs/Phaser.RetroFont.html @@ -6,7 +6,7 @@ Phaser CE Class: RetroFont - + @@ -589,7 +589,7 @@

Parameters:
Source:
- src/gameobjects/RetroFont.js line 25 + src/gameobjects/RetroFont.js line 25 @@ -705,7 +705,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 196 + src/gameobjects/RetroFont.js line 196 @@ -782,7 +782,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 182 + src/gameobjects/RetroFont.js line 182 @@ -859,7 +859,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 189 + src/gameobjects/RetroFont.js line 189 @@ -936,7 +936,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 203 + src/gameobjects/RetroFont.js line 203 @@ -1013,7 +1013,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 210 + src/gameobjects/RetroFont.js line 210 @@ -1090,7 +1090,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 217 + src/gameobjects/RetroFont.js line 217 @@ -1167,7 +1167,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 224 + src/gameobjects/RetroFont.js line 224 @@ -1244,7 +1244,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 231 + src/gameobjects/RetroFont.js line 231 @@ -1321,7 +1321,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 238 + src/gameobjects/RetroFont.js line 238 @@ -1398,7 +1398,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 245 + src/gameobjects/RetroFont.js line 245 @@ -1475,7 +1475,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 252 + src/gameobjects/RetroFont.js line 252 @@ -1552,7 +1552,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 259 + src/gameobjects/RetroFont.js line 259 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 266 + src/gameobjects/RetroFont.js line 266 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 273 + src/gameobjects/RetroFont.js line 273 @@ -1783,7 +1783,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 77 + src/gameobjects/RetroFont.js line 77 @@ -1867,7 +1867,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 89 + src/gameobjects/RetroFont.js line 89 @@ -1953,7 +1953,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 66 + src/gameobjects/RenderTexture.js line 66 @@ -2030,7 +2030,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 45 + src/gameobjects/RetroFont.js line 45 @@ -2107,7 +2107,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 60 + src/gameobjects/RetroFont.js line 60 @@ -2184,7 +2184,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 50 + src/gameobjects/RetroFont.js line 50 @@ -2261,7 +2261,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 55 + src/gameobjects/RetroFont.js line 55 @@ -2338,7 +2338,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 40 + src/gameobjects/RetroFont.js line 40 @@ -2425,7 +2425,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -2502,7 +2502,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 95 + src/gameobjects/RetroFont.js line 95 @@ -2579,7 +2579,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 101 + src/gameobjects/RetroFont.js line 101 @@ -2657,7 +2657,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 108 + src/gameobjects/RetroFont.js line 108 @@ -2734,7 +2734,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 113 + src/gameobjects/RetroFont.js line 113 @@ -2820,7 +2820,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -2897,7 +2897,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 130 + src/gameobjects/RetroFont.js line 130 @@ -2983,7 +2983,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 34 + src/gameobjects/RenderTexture.js line 34 @@ -3069,7 +3069,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -3155,7 +3155,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -3241,7 +3241,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 39 + src/gameobjects/RenderTexture.js line 39 @@ -3318,7 +3318,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 83 + src/gameobjects/RetroFont.js line 83 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -3481,7 +3481,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 66 + src/gameobjects/RetroFont.js line 66 @@ -3558,7 +3558,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 72 + src/gameobjects/RetroFont.js line 72 @@ -3647,7 +3647,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 84 + src/gameobjects/RenderTexture.js line 84 @@ -3738,7 +3738,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -3824,7 +3824,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -3912,7 +3912,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -3989,7 +3989,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 585 + src/gameobjects/RetroFont.js line 585 @@ -4066,7 +4066,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 163 + src/gameobjects/RetroFont.js line 163 @@ -4143,7 +4143,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 547 + src/gameobjects/RetroFont.js line 547 @@ -4229,7 +4229,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -4311,7 +4311,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 170 + src/gameobjects/RetroFont.js line 170 @@ -4393,7 +4393,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 107 + src/gameobjects/RenderTexture.js line 107 @@ -4479,7 +4479,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -4557,7 +4557,7 @@

Source:
- src/gameobjects/RetroFont.js line 328 + src/gameobjects/RetroFont.js line 328 @@ -4650,7 +4650,7 @@

Source:
- src/gameobjects/RenderTexture.js line 258 + src/gameobjects/RenderTexture.js line 258 @@ -4793,7 +4793,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -4960,7 +4960,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -5073,7 +5073,7 @@

Source:
- src/gameobjects/RenderTexture.js line 399 + src/gameobjects/RenderTexture.js line 399 @@ -5190,7 +5190,7 @@

Source:
- src/gameobjects/RenderTexture.js line 411 + src/gameobjects/RenderTexture.js line 411 @@ -5307,7 +5307,7 @@

Source:
- src/gameobjects/RenderTexture.js line 384 + src/gameobjects/RenderTexture.js line 384 @@ -5411,7 +5411,7 @@

Source:
- src/gameobjects/RetroFont.js line 459 + src/gameobjects/RetroFont.js line 459 @@ -5642,7 +5642,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 420 + src/gameobjects/RetroFont.js line 420 @@ -5796,7 +5796,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 486 + src/gameobjects/RetroFont.js line 486 @@ -6074,7 +6074,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 178 + src/gameobjects/RenderTexture.js line 178 @@ -6359,7 +6359,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 150 + src/gameobjects/RenderTexture.js line 150 @@ -6644,7 +6644,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 118 + src/gameobjects/RenderTexture.js line 118 @@ -6835,7 +6835,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 215 + src/gameobjects/RenderTexture.js line 215 @@ -7026,7 +7026,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 275 + src/gameobjects/RetroFont.js line 275 @@ -7169,7 +7169,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -7519,7 +7519,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 293 + src/gameobjects/RetroFont.js line 293 @@ -7715,7 +7715,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 514 + src/gameobjects/RetroFont.js line 514 @@ -7758,9 +7758,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -7777,7 +7777,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -7806,7 +7806,7 @@
Parameters:
- + diff --git a/docs/Phaser.Rope.html b/docs/Phaser.Rope.html index d9fcf1b19..7666c649e 100644 --- a/docs/Phaser.Rope.html +++ b/docs/Phaser.Rope.html @@ -6,7 +6,7 @@ Phaser CE Class: Rope - + @@ -364,7 +364,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 44 + src/gameobjects/Rope.js line 44 @@ -536,7 +536,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -632,7 +632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -723,7 +723,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -810,7 +810,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -907,7 +907,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1010,7 +1010,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1097,7 +1097,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1277,7 +1277,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1354,7 +1354,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 101 + src/gameobjects/Rope.js line 101 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1620,7 +1620,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1792,7 +1792,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1880,7 +1880,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1976,7 +1976,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2062,7 +2062,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2149,7 +2149,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2236,7 +2236,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2409,7 +2409,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2486,7 +2486,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 93 + src/gameobjects/Rope.js line 93 @@ -2573,7 +2573,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2671,7 +2671,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2848,7 +2848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2941,7 +2941,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3032,7 +3032,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3123,7 +3123,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3210,7 +3210,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3382,7 +3382,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -3478,7 +3478,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3566,7 +3566,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3653,7 +3653,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3739,7 +3739,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -3841,7 +3841,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3928,7 +3928,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4018,7 +4018,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4107,7 +4107,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -4194,7 +4194,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4282,7 +4282,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4370,7 +4370,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4456,7 +4456,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4543,7 +4543,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -4632,7 +4632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4721,7 +4721,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4808,7 +4808,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4896,7 +4896,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4982,7 +4982,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5068,7 +5068,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5155,7 +5155,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5242,7 +5242,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5329,7 +5329,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5418,7 +5418,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5507,7 +5507,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5595,7 +5595,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5683,7 +5683,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5802,7 +5802,7 @@
Properties:
Source:
- src/gameobjects/Rope.js line 803 + src/gameobjects/Rope.js line 803 @@ -5890,7 +5890,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5977,7 +5977,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6149,7 +6149,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6226,7 +6226,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 58 + src/gameobjects/Rope.js line 58 @@ -6303,7 +6303,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 772 + src/gameobjects/Rope.js line 772 @@ -6402,7 +6402,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -6488,7 +6488,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -6576,7 +6576,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6668,7 +6668,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6759,7 +6759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6850,7 +6850,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6941,7 +6941,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7032,7 +7032,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7118,7 +7118,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7210,7 +7210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -7302,7 +7302,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -7391,7 +7391,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7528,7 +7528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7719,7 +7719,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8062,7 +8062,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8406,7 +8406,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8526,7 +8526,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8693,7 +8693,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8919,7 +8919,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9019,7 +9019,7 @@

Source:
- src/pixi/display/DisplayObject.js line 255 + src/pixi/display/DisplayObject.js line 255 @@ -9264,7 +9264,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -9453,7 +9453,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -9620,7 +9620,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9787,7 +9787,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9904,7 +9904,7 @@

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

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -10310,7 +10310,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10406,7 +10406,7 @@

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

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -10709,7 +10709,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11015,7 +11015,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -11132,7 +11132,7 @@

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

Source:
- src/gameobjects/Rope.js line 142 + src/gameobjects/Rope.js line 142 @@ -11314,7 +11314,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -11457,7 +11457,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -11624,7 +11624,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -11815,7 +11815,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -11980,7 +11980,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 174 + src/gameobjects/Rope.js line 174 @@ -12097,7 +12097,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -12290,7 +12290,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -12455,7 +12455,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -12575,7 +12575,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -12766,7 +12766,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -12910,7 +12910,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -13147,7 +13147,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -13314,7 +13314,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -13457,7 +13457,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -13670,7 +13670,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -13785,7 +13785,7 @@

Source:
- src/gameobjects/Rope.js line 159 + src/gameobjects/Rope.js line 159 @@ -13878,7 +13878,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -13998,7 +13998,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -14166,7 +14166,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -14235,9 +14235,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -14254,7 +14254,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -14283,7 +14283,7 @@
Returns:
- + diff --git a/docs/Phaser.RoundedRectangle.html b/docs/Phaser.RoundedRectangle.html index 0dc998f41..105119ffb 100644 --- a/docs/Phaser.RoundedRectangle.html +++ b/docs/Phaser.RoundedRectangle.html @@ -6,7 +6,7 @@ Phaser CE Class: RoundedRectangle - + @@ -411,7 +411,7 @@
Parameters:
Source:
- src/geom/RoundedRectangle.js line 20 + src/geom/RoundedRectangle.js line 20 @@ -516,7 +516,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 46 + src/geom/RoundedRectangle.js line 46 @@ -593,7 +593,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 51 + src/geom/RoundedRectangle.js line 51 @@ -670,7 +670,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 57 + src/geom/RoundedRectangle.js line 57 @@ -747,7 +747,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 41 + src/geom/RoundedRectangle.js line 41 @@ -824,7 +824,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 31 + src/geom/RoundedRectangle.js line 31 @@ -901,7 +901,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 36 + src/geom/RoundedRectangle.js line 36 @@ -980,7 +980,7 @@

Source:
- src/geom/RoundedRectangle.js line 62 + src/geom/RoundedRectangle.js line 62 @@ -1158,7 +1158,7 @@
Parameters:
Source:
- src/geom/RoundedRectangle.js line 75 + src/geom/RoundedRectangle.js line 75 @@ -1225,9 +1225,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1244,7 +1244,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1273,7 +1273,7 @@
Returns:
- + diff --git a/docs/Phaser.ScaleManager.html b/docs/Phaser.ScaleManager.html index c3590bd9d..ba067fda5 100644 --- a/docs/Phaser.ScaleManager.html +++ b/docs/Phaser.ScaleManager.html @@ -6,7 +6,7 @@ Phaser CE Class: ScaleManager - + @@ -321,7 +321,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 68 + src/core/ScaleManager.js line 68 @@ -426,7 +426,7 @@
Type:
Source:
- src/core/ScaleManager.js line 635 + src/core/ScaleManager.js line 635 @@ -503,7 +503,7 @@
Type:
Source:
- src/core/ScaleManager.js line 675 + src/core/ScaleManager.js line 675 @@ -580,7 +580,7 @@
Type:
Source:
- src/core/ScaleManager.js line 643 + src/core/ScaleManager.js line 643 @@ -657,7 +657,7 @@
Type:
Source:
- src/core/ScaleManager.js line 659 + src/core/ScaleManager.js line 659 @@ -734,7 +734,7 @@
Type:
Source:
- src/core/ScaleManager.js line 651 + src/core/ScaleManager.js line 651 @@ -811,7 +811,7 @@
Type:
Source:
- src/core/ScaleManager.js line 667 + src/core/ScaleManager.js line 667 @@ -888,7 +888,7 @@
Type:
Source:
- src/core/ScaleManager.js line 371 + src/core/ScaleManager.js line 371 @@ -967,7 +967,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2195 + src/core/ScaleManager.js line 2195 @@ -1044,7 +1044,7 @@
Type:
Source:
- src/core/ScaleManager.js line 364 + src/core/ScaleManager.js line 364 @@ -1417,7 +1417,7 @@
Properties:
Source:
- src/core/ScaleManager.js line 432 + src/core/ScaleManager.js line 432 @@ -1495,7 +1495,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2328 + src/core/ScaleManager.js line 2328 @@ -1572,7 +1572,7 @@
Type:
Source:
- src/core/ScaleManager.js line 84 + src/core/ScaleManager.js line 84 @@ -1650,7 +1650,7 @@
Type:
Source:
- src/core/ScaleManager.js line 233 + src/core/ScaleManager.js line 233 @@ -1728,7 +1728,7 @@
Type:
Source:
- src/core/ScaleManager.js line 162 + src/core/ScaleManager.js line 162 @@ -1806,7 +1806,7 @@
Type:
Source:
- src/core/ScaleManager.js line 172 + src/core/ScaleManager.js line 172 @@ -1884,7 +1884,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2287 + src/core/ScaleManager.js line 2287 @@ -1966,7 +1966,7 @@
Type:
Source:
- src/core/ScaleManager.js line 270 + src/core/ScaleManager.js line 270 @@ -2043,7 +2043,7 @@
Type:
Source:
- src/core/ScaleManager.js line 76 + src/core/ScaleManager.js line 76 @@ -2120,7 +2120,7 @@
Type:
Source:
- src/core/ScaleManager.js line 91 + src/core/ScaleManager.js line 91 @@ -2200,7 +2200,7 @@
Type:
Source:
- src/core/ScaleManager.js line 255 + src/core/ScaleManager.js line 255 @@ -2277,7 +2277,7 @@
Type:
Source:
- src/core/ScaleManager.js line 105 + src/core/ScaleManager.js line 105 @@ -2355,7 +2355,7 @@
Type:
Source:
- src/core/ScaleManager.js line 183 + src/core/ScaleManager.js line 183 @@ -2432,7 +2432,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2419 + src/core/ScaleManager.js line 2419 @@ -2512,7 +2512,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2484 + src/core/ScaleManager.js line 2484 @@ -2592,7 +2592,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2466 + src/core/ScaleManager.js line 2466 @@ -2669,7 +2669,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2451 + src/core/ScaleManager.js line 2451 @@ -2746,7 +2746,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2436 + src/core/ScaleManager.js line 2436 @@ -2824,7 +2824,7 @@
Type:
Source:
- src/core/ScaleManager.js line 243 + src/core/ScaleManager.js line 243 @@ -2901,7 +2901,7 @@
Type:
Source:
- src/core/ScaleManager.js line 357 + src/core/ScaleManager.js line 357 @@ -2980,7 +2980,7 @@
Type:
Source:
- src/core/ScaleManager.js line 143 + src/core/ScaleManager.js line 143 @@ -3059,7 +3059,7 @@
Type:
Source:
- src/core/ScaleManager.js line 124 + src/core/ScaleManager.js line 124 @@ -3137,7 +3137,7 @@
Type:
Source:
- src/core/ScaleManager.js line 133 + src/core/ScaleManager.js line 133 @@ -3215,7 +3215,7 @@
Type:
Source:
- src/core/ScaleManager.js line 114 + src/core/ScaleManager.js line 114 @@ -3293,7 +3293,7 @@
Type:
Source:
- src/core/ScaleManager.js line 152 + src/core/ScaleManager.js line 152 @@ -3372,7 +3372,7 @@
Type:
Source:
- src/core/ScaleManager.js line 312 + src/core/ScaleManager.js line 312 @@ -3451,7 +3451,7 @@
Type:
Source:
- src/core/ScaleManager.js line 323 + src/core/ScaleManager.js line 323 @@ -3540,7 +3540,7 @@
Type:
Source:
- src/core/ScaleManager.js line 301 + src/core/ScaleManager.js line 301 @@ -3631,7 +3631,7 @@
Type:
Source:
- src/core/ScaleManager.js line 223 + src/core/ScaleManager.js line 223 @@ -3715,7 +3715,7 @@
Type:
Source:
- src/core/ScaleManager.js line 513 + src/core/ScaleManager.js line 513 @@ -3802,7 +3802,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2348 + src/core/ScaleManager.js line 2348 @@ -3894,7 +3894,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2380 + src/core/ScaleManager.js line 2380 @@ -3973,7 +3973,7 @@
Type:
Source:
- src/core/ScaleManager.js line 465 + src/core/ScaleManager.js line 465 @@ -4053,7 +4053,7 @@
Type:
Source:
- src/core/ScaleManager.js line 477 + src/core/ScaleManager.js line 477 @@ -4130,7 +4130,7 @@
Type:
Source:
- src/core/ScaleManager.js line 484 + src/core/ScaleManager.js line 484 @@ -4207,7 +4207,7 @@
Type:
Source:
- src/core/ScaleManager.js line 340 + src/core/ScaleManager.js line 340 @@ -4284,7 +4284,7 @@
Type:
Source:
- src/core/ScaleManager.js line 348 + src/core/ScaleManager.js line 348 @@ -4391,7 +4391,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2223 + src/core/ScaleManager.js line 2223 @@ -4469,7 +4469,7 @@
Type:
Source:
- src/core/ScaleManager.js line 333 + src/core/ScaleManager.js line 333 @@ -4546,7 +4546,7 @@
Type:
Source:
- src/core/ScaleManager.js line 378 + src/core/ScaleManager.js line 378 @@ -4631,7 +4631,7 @@
Type:
Source:
- src/core/ScaleManager.js line 495 + src/core/ScaleManager.js line 495 @@ -4715,7 +4715,7 @@
Type:
Source:
- src/core/ScaleManager.js line 98 + src/core/ScaleManager.js line 98 @@ -4871,7 +4871,7 @@
Properties:
Source:
- src/core/ScaleManager.js line 401 + src/core/ScaleManager.js line 401 @@ -5045,7 +5045,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1539 + src/core/ScaleManager.js line 1539 @@ -5129,7 +5129,7 @@

Source:
- src/core/ScaleManager.js line 685 + src/core/ScaleManager.js line 685 @@ -5215,7 +5215,7 @@

Source:
- src/core/ScaleManager.js line 1822 + src/core/ScaleManager.js line 1822 @@ -5300,7 +5300,7 @@

Source:
- src/core/ScaleManager.js line 2162 + src/core/ScaleManager.js line 2162 @@ -5494,7 +5494,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1228 + src/core/ScaleManager.js line 1228 @@ -5691,7 +5691,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1479 + src/core/ScaleManager.js line 1479 @@ -5849,7 +5849,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 788 + src/core/ScaleManager.js line 788 @@ -5933,7 +5933,7 @@

Source:
- src/core/ScaleManager.js line 1093 + src/core/ScaleManager.js line 1093 @@ -6029,7 +6029,7 @@

Source:
- src/core/ScaleManager.js line 1372 + src/core/ScaleManager.js line 1372 @@ -6302,7 +6302,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 2092 + src/core/ScaleManager.js line 2092 @@ -6495,7 +6495,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 929 + src/core/ScaleManager.js line 929 @@ -6744,7 +6744,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1061 + src/core/ScaleManager.js line 1061 @@ -6924,7 +6924,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 990 + src/core/ScaleManager.js line 990 @@ -7089,7 +7089,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 829 + src/core/ScaleManager.js line 829 @@ -7438,7 +7438,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 957 + src/core/ScaleManager.js line 957 @@ -7630,7 +7630,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1843 + src/core/ScaleManager.js line 1843 @@ -7738,7 +7738,7 @@

Source:
- src/core/ScaleManager.js line 1946 + src/core/ScaleManager.js line 1946 @@ -7805,9 +7805,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -7824,7 +7824,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -7853,7 +7853,7 @@
Returns:
- + diff --git a/docs/Phaser.Signal.html b/docs/Phaser.Signal.html index 54b6b2911..2a224f5f8 100644 --- a/docs/Phaser.Signal.html +++ b/docs/Phaser.Signal.html @@ -6,7 +6,7 @@ Phaser CE Class: Signal - + @@ -210,7 +210,7 @@

Source:
- src/core/Signal.js line 64 + src/core/Signal.js line 64 @@ -323,7 +323,7 @@
Type:
Source:
- src/core/Signal.js line 104 + src/core/Signal.js line 104 @@ -402,7 +402,7 @@
Type:
Source:
- src/core/Signal.js line 88 + src/core/Signal.js line 88 @@ -673,7 +673,7 @@
Parameters:
Source:
- src/core/Signal.js line 236 + src/core/Signal.js line 236 @@ -967,7 +967,7 @@
Parameters:
Source:
- src/core/Signal.js line 280 + src/core/Signal.js line 280 @@ -1138,7 +1138,7 @@
Parameters:
Source:
- src/core/Signal.js line 401 + src/core/Signal.js line 401 @@ -1224,7 +1224,7 @@

Source:
- src/core/Signal.js line 457 + src/core/Signal.js line 457 @@ -1308,7 +1308,7 @@

Source:
- src/core/Signal.js line 443 + src/core/Signal.js line 443 @@ -1392,7 +1392,7 @@

Source:
- src/core/Signal.js line 375 + src/core/Signal.js line 375 @@ -1502,7 +1502,7 @@

Source:
- src/core/Signal.js line 387 + src/core/Signal.js line 387 @@ -1680,7 +1680,7 @@
Parameters:
Source:
- src/core/Signal.js line 222 + src/core/Signal.js line 222 @@ -1894,7 +1894,7 @@
Parameters:
Source:
- src/core/Signal.js line 311 + src/core/Signal.js line 311 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/core/Signal.js line 335 + src/core/Signal.js line 335 @@ -2156,7 +2156,7 @@

Source:
- src/core/Signal.js line 477 + src/core/Signal.js line 477 @@ -2223,9 +2223,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2242,7 +2242,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2271,7 +2271,7 @@
Returns:
- + diff --git a/docs/Phaser.SignalBinding.html b/docs/Phaser.SignalBinding.html index e5d8e3c00..91900ba38 100644 --- a/docs/Phaser.SignalBinding.html +++ b/docs/Phaser.SignalBinding.html @@ -6,7 +6,7 @@ Phaser CE Class: SignalBinding - + @@ -440,7 +440,7 @@
Parameters:
Source:
- src/core/SignalBinding.js line 22 + src/core/SignalBinding.js line 22 @@ -552,7 +552,7 @@
Type:
Source:
- src/core/SignalBinding.js line 93 + src/core/SignalBinding.js line 93 @@ -629,7 +629,7 @@
Type:
Source:
- src/core/SignalBinding.js line 86 + src/core/SignalBinding.js line 86 @@ -706,7 +706,7 @@
Type:
Source:
- src/core/SignalBinding.js line 63 + src/core/SignalBinding.js line 63 @@ -786,7 +786,7 @@
Type:
Source:
- src/core/SignalBinding.js line 100 + src/core/SignalBinding.js line 100 @@ -865,7 +865,7 @@

Source:
- src/core/SignalBinding.js line 136 + src/core/SignalBinding.js line 136 @@ -1039,7 +1039,7 @@
Parameters:
Source:
- src/core/SignalBinding.js line 102 + src/core/SignalBinding.js line 102 @@ -1143,7 +1143,7 @@

Source:
- src/core/SignalBinding.js line 162 + src/core/SignalBinding.js line 162 @@ -1247,7 +1247,7 @@

Source:
- src/core/SignalBinding.js line 170 + src/core/SignalBinding.js line 170 @@ -1351,7 +1351,7 @@

Source:
- src/core/SignalBinding.js line 146 + src/core/SignalBinding.js line 146 @@ -1455,7 +1455,7 @@

Source:
- src/core/SignalBinding.js line 154 + src/core/SignalBinding.js line 154 @@ -1559,7 +1559,7 @@

Source:
- src/core/SignalBinding.js line 189 + src/core/SignalBinding.js line 189 @@ -1626,9 +1626,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1645,7 +1645,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1674,7 +1674,7 @@
Returns:
- + diff --git a/docs/Phaser.SinglePad.html b/docs/Phaser.SinglePad.html index 2fc036e13..f628cd5ef 100644 --- a/docs/Phaser.SinglePad.html +++ b/docs/Phaser.SinglePad.html @@ -6,7 +6,7 @@ Phaser CE Class: SinglePad - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 16 + src/input/SinglePad.js line 16 @@ -359,7 +359,7 @@
Type:
Source:
- src/input/SinglePad.js line 38 + src/input/SinglePad.js line 38 @@ -436,7 +436,7 @@
Type:
Source:
- src/input/SinglePad.js line 33 + src/input/SinglePad.js line 33 @@ -513,7 +513,7 @@
Type:
Source:
- src/input/SinglePad.js line 73 + src/input/SinglePad.js line 73 @@ -590,7 +590,7 @@
Type:
Source:
- src/input/SinglePad.js line 21 + src/input/SinglePad.js line 21 @@ -667,7 +667,7 @@
Type:
Source:
- src/input/SinglePad.js line 27 + src/input/SinglePad.js line 27 @@ -744,7 +744,7 @@
Type:
Source:
- src/input/SinglePad.js line 63 + src/input/SinglePad.js line 63 @@ -821,7 +821,7 @@
Type:
Source:
- src/input/SinglePad.js line 43 + src/input/SinglePad.js line 43 @@ -898,7 +898,7 @@
Type:
Source:
- src/input/SinglePad.js line 48 + src/input/SinglePad.js line 48 @@ -975,7 +975,7 @@
Type:
Source:
- src/input/SinglePad.js line 53 + src/input/SinglePad.js line 53 @@ -1052,7 +1052,7 @@
Type:
Source:
- src/input/SinglePad.js line 68 + src/input/SinglePad.js line 68 @@ -1129,7 +1129,7 @@
Type:
Source:
- src/input/SinglePad.js line 58 + src/input/SinglePad.js line 58 @@ -1282,7 +1282,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 121 + src/input/SinglePad.js line 121 @@ -1416,7 +1416,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 432 + src/input/SinglePad.js line 432 @@ -1575,7 +1575,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 520 + src/input/SinglePad.js line 520 @@ -1733,7 +1733,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 216 + src/input/SinglePad.js line 216 @@ -1817,7 +1817,7 @@

Source:
- src/input/SinglePad.js line 298 + src/input/SinglePad.js line 298 @@ -1901,7 +1901,7 @@

Source:
- src/input/SinglePad.js line 260 + src/input/SinglePad.js line 260 @@ -2036,7 +2036,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 144 + src/input/SinglePad.js line 144 @@ -2194,7 +2194,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 450 + src/input/SinglePad.js line 450 @@ -2352,7 +2352,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 468 + src/input/SinglePad.js line 468 @@ -2566,7 +2566,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 503 + src/input/SinglePad.js line 503 @@ -2780,7 +2780,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 486 + src/input/SinglePad.js line 486 @@ -2888,7 +2888,7 @@

Source:
- src/input/SinglePad.js line 165 + src/input/SinglePad.js line 165 @@ -3022,7 +3022,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 327 + src/input/SinglePad.js line 327 @@ -3180,7 +3180,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 354 + src/input/SinglePad.js line 354 @@ -3338,7 +3338,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 406 + src/input/SinglePad.js line 406 @@ -3496,7 +3496,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 380 + src/input/SinglePad.js line 380 @@ -3580,7 +3580,7 @@

Source:
- src/input/SinglePad.js line 539 + src/input/SinglePad.js line 539 @@ -3623,9 +3623,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3642,7 +3642,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3671,7 +3671,7 @@

- + diff --git a/docs/Phaser.Sound.html b/docs/Phaser.Sound.html index f25de20fd..05063a3ba 100644 --- a/docs/Phaser.Sound.html +++ b/docs/Phaser.Sound.html @@ -6,7 +6,7 @@ Phaser CE Class: Sound - + @@ -362,7 +362,7 @@

Parameters:
Source:
- src/sound/Sound.js line 17 + src/sound/Sound.js line 17 @@ -467,7 +467,7 @@
Type:
Source:
- src/sound/Sound.js line 144 + src/sound/Sound.js line 144 @@ -544,7 +544,7 @@
Type:
Source:
- src/sound/Sound.js line 57 + src/sound/Sound.js line 57 @@ -621,7 +621,7 @@
Type:
Source:
- src/sound/Sound.js line 52 + src/sound/Sound.js line 52 @@ -698,7 +698,7 @@
Type:
Source:
- src/sound/Sound.js line 121 + src/sound/Sound.js line 121 @@ -775,7 +775,7 @@
Type:
Source:
- src/sound/Sound.js line 73 + src/sound/Sound.js line 73 @@ -852,7 +852,7 @@
Type:
Source:
- src/sound/Sound.js line 78 + src/sound/Sound.js line 78 @@ -929,7 +929,7 @@
Type:
Source:
- src/sound/Sound.js line 83 + src/sound/Sound.js line 83 @@ -1006,7 +1006,7 @@
Type:
Source:
- src/sound/Sound.js line 166 + src/sound/Sound.js line 166 @@ -1083,7 +1083,7 @@
Type:
Source:
- src/sound/Sound.js line 126 + src/sound/Sound.js line 126 @@ -1160,7 +1160,7 @@
Type:
Source:
- src/sound/Sound.js line 176 + src/sound/Sound.js line 176 @@ -1237,7 +1237,7 @@
Type:
Source:
- src/sound/Sound.js line 27 + src/sound/Sound.js line 27 @@ -1314,7 +1314,7 @@
Type:
Source:
- src/sound/Sound.js line 1177 + src/sound/Sound.js line 1180 @@ -1391,7 +1391,7 @@
Type:
Source:
- src/sound/Sound.js line 1164 + src/sound/Sound.js line 1167 @@ -1468,7 +1468,7 @@
Type:
Source:
- src/sound/Sound.js line 115 + src/sound/Sound.js line 115 @@ -1545,7 +1545,7 @@
Type:
Source:
- src/sound/Sound.js line 37 + src/sound/Sound.js line 37 @@ -1622,7 +1622,7 @@
Type:
Source:
- src/sound/Sound.js line 42 + src/sound/Sound.js line 42 @@ -1699,7 +1699,7 @@
Type:
Source:
- src/sound/Sound.js line 47 + src/sound/Sound.js line 47 @@ -1776,7 +1776,7 @@
Type:
Source:
- src/sound/Sound.js line 171 + src/sound/Sound.js line 171 @@ -1853,7 +1853,7 @@
Type:
Source:
- src/sound/Sound.js line 1190 + src/sound/Sound.js line 1193 @@ -1930,7 +1930,7 @@
Type:
Source:
- src/sound/Sound.js line 32 + src/sound/Sound.js line 32 @@ -2007,7 +2007,7 @@
Type:
Source:
- src/sound/Sound.js line 246 + src/sound/Sound.js line 246 @@ -2084,7 +2084,7 @@
Type:
Source:
- src/sound/Sound.js line 286 + src/sound/Sound.js line 286 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/sound/Sound.js line 266 + src/sound/Sound.js line 266 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/sound/Sound.js line 281 + src/sound/Sound.js line 281 @@ -2315,7 +2315,7 @@
Type:
Source:
- src/sound/Sound.js line 276 + src/sound/Sound.js line 276 @@ -2392,7 +2392,7 @@
Type:
Source:
- src/sound/Sound.js line 256 + src/sound/Sound.js line 256 @@ -2469,7 +2469,7 @@
Type:
Source:
- src/sound/Sound.js line 251 + src/sound/Sound.js line 251 @@ -2546,7 +2546,7 @@
Type:
Source:
- src/sound/Sound.js line 261 + src/sound/Sound.js line 261 @@ -2623,7 +2623,7 @@
Type:
Source:
- src/sound/Sound.js line 271 + src/sound/Sound.js line 271 @@ -2700,7 +2700,7 @@
Type:
Source:
- src/sound/Sound.js line 138 + src/sound/Sound.js line 138 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/sound/Sound.js line 99 + src/sound/Sound.js line 99 @@ -2854,7 +2854,7 @@
Type:
Source:
- src/sound/Sound.js line 104 + src/sound/Sound.js line 104 @@ -2931,7 +2931,7 @@
Type:
Source:
- src/sound/Sound.js line 109 + src/sound/Sound.js line 109 @@ -3008,7 +3008,7 @@
Type:
Source:
- src/sound/Sound.js line 132 + src/sound/Sound.js line 132 @@ -3085,7 +3085,7 @@
Type:
Source:
- src/sound/Sound.js line 150 + src/sound/Sound.js line 150 @@ -3162,7 +3162,7 @@
Type:
Source:
- src/sound/Sound.js line 88 + src/sound/Sound.js line 88 @@ -3239,7 +3239,7 @@
Type:
Source:
- src/sound/Sound.js line 68 + src/sound/Sound.js line 68 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/sound/Sound.js line 93 + src/sound/Sound.js line 93 @@ -3393,7 +3393,7 @@
Type:
Source:
- src/sound/Sound.js line 62 + src/sound/Sound.js line 62 @@ -3470,7 +3470,7 @@
Type:
Source:
- src/sound/Sound.js line 161 + src/sound/Sound.js line 161 @@ -3547,7 +3547,7 @@
Type:
Source:
- src/sound/Sound.js line 156 + src/sound/Sound.js line 156 @@ -3624,7 +3624,7 @@
Type:
Source:
- src/sound/Sound.js line 1245 + src/sound/Sound.js line 1248 @@ -3925,7 +3925,7 @@
Parameters:
Source:
- src/sound/Sound.js line 374 + src/sound/Sound.js line 374 @@ -4079,7 +4079,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1124 + src/sound/Sound.js line 1127 @@ -4316,7 +4316,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1012 + src/sound/Sound.js line 1015 @@ -4472,7 +4472,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1040 + src/sound/Sound.js line 1043 @@ -4666,7 +4666,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1054 + src/sound/Sound.js line 1057 @@ -4820,7 +4820,7 @@
Parameters:
Source:
- src/sound/Sound.js line 556 + src/sound/Sound.js line 556 @@ -4929,7 +4929,7 @@

Source:
- src/sound/Sound.js line 414 + src/sound/Sound.js line 414 @@ -5013,7 +5013,7 @@

Source:
- src/sound/Sound.js line 841 + src/sound/Sound.js line 844 @@ -5327,7 +5327,7 @@
Parameters:
Source:
- src/sound/Sound.js line 569 + src/sound/Sound.js line 569 @@ -5485,7 +5485,7 @@
Parameters:
Source:
- src/sound/Sound.js line 403 + src/sound/Sound.js line 403 @@ -5759,7 +5759,7 @@
Parameters:
Source:
- src/sound/Sound.js line 821 + src/sound/Sound.js line 824 @@ -5843,7 +5843,7 @@

Source:
- src/sound/Sound.js line 860 + src/sound/Sound.js line 863 @@ -5977,7 +5977,7 @@
Parameters:
Source:
- src/sound/Sound.js line 358 + src/sound/Sound.js line 358 @@ -6061,7 +6061,7 @@

Source:
- src/sound/Sound.js line 945 + src/sound/Sound.js line 948 @@ -6145,7 +6145,7 @@

Source:
- src/sound/Sound.js line 468 + src/sound/Sound.js line 468 @@ -6281,7 +6281,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1101 + src/sound/Sound.js line 1104 @@ -6324,9 +6324,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -6343,7 +6343,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -6372,7 +6372,7 @@
Parameters:
- + diff --git a/docs/Phaser.SoundManager.html b/docs/Phaser.SoundManager.html index 04515a573..10b960377 100644 --- a/docs/Phaser.SoundManager.html +++ b/docs/Phaser.SoundManager.html @@ -6,7 +6,7 @@ Phaser CE Class: SoundManager - + @@ -240,7 +240,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 26 + src/sound/SoundManager.js line 26 @@ -352,7 +352,7 @@
Type:
Source:
- src/sound/SoundManager.js line 103 + src/sound/SoundManager.js line 103 @@ -436,7 +436,7 @@
Type:
Source:
- src/sound/SoundManager.js line 91 + src/sound/SoundManager.js line 91 @@ -513,7 +513,7 @@
Type:
Source:
- src/sound/SoundManager.js line 67 + src/sound/SoundManager.js line 67 @@ -590,7 +590,7 @@
Type:
Source:
- src/sound/SoundManager.js line 31 + src/sound/SoundManager.js line 31 @@ -667,7 +667,7 @@
Type:
Source:
- src/sound/SoundManager.js line 822 + src/sound/SoundManager.js line 822 @@ -753,7 +753,7 @@
Type:
Source:
- src/sound/SoundManager.js line 112 + src/sound/SoundManager.js line 112 @@ -830,7 +830,7 @@
Type:
Source:
- src/sound/SoundManager.js line 85 + src/sound/SoundManager.js line 85 @@ -907,7 +907,7 @@
Type:
Source:
- src/sound/SoundManager.js line 48 + src/sound/SoundManager.js line 48 @@ -984,7 +984,7 @@
Type:
Source:
- src/sound/SoundManager.js line 36 + src/sound/SoundManager.js line 36 @@ -1062,7 +1062,7 @@
Type:
Source:
- src/sound/SoundManager.js line 61 + src/sound/SoundManager.js line 61 @@ -1139,7 +1139,7 @@
Type:
Source:
- src/sound/SoundManager.js line 54 + src/sound/SoundManager.js line 54 @@ -1216,7 +1216,7 @@
Type:
Source:
- src/sound/SoundManager.js line 42 + src/sound/SoundManager.js line 42 @@ -1293,7 +1293,7 @@
Type:
Source:
- src/sound/SoundManager.js line 97 + src/sound/SoundManager.js line 97 @@ -1370,7 +1370,7 @@
Type:
Source:
- src/sound/SoundManager.js line 79 + src/sound/SoundManager.js line 79 @@ -1447,7 +1447,7 @@
Type:
Source:
- src/sound/SoundManager.js line 73 + src/sound/SoundManager.js line 73 @@ -1524,7 +1524,7 @@
Type:
Source:
- src/sound/SoundManager.js line 862 + src/sound/SoundManager.js line 862 @@ -1788,7 +1788,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 585 + src/sound/SoundManager.js line 585 @@ -1946,7 +1946,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 609 + src/sound/SoundManager.js line 609 @@ -2054,7 +2054,7 @@

Source:
- src/sound/SoundManager.js line 177 + src/sound/SoundManager.js line 177 @@ -2232,7 +2232,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 451 + src/sound/SoundManager.js line 451 @@ -2316,7 +2316,7 @@

Source:
- src/sound/SoundManager.js line 789 + src/sound/SoundManager.js line 789 @@ -2400,7 +2400,7 @@

Source:
- src/sound/SoundManager.js line 407 + src/sound/SoundManager.js line 407 @@ -2630,7 +2630,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 698 + src/sound/SoundManager.js line 698 @@ -2788,7 +2788,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 624 + src/sound/SoundManager.js line 624 @@ -2897,7 +2897,7 @@

Source:
- src/sound/SoundManager.js line 649 + src/sound/SoundManager.js line 649 @@ -3032,7 +3032,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 671 + src/sound/SoundManager.js line 671 @@ -3140,7 +3140,7 @@

Source:
- src/sound/SoundManager.js line 429 + src/sound/SoundManager.js line 429 @@ -3225,7 +3225,7 @@

Source:
- src/sound/SoundManager.js line 330 + src/sound/SoundManager.js line 330 @@ -3439,7 +3439,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 488 + src/sound/SoundManager.js line 488 @@ -3524,7 +3524,7 @@

Source:
- src/sound/SoundManager.js line 290 + src/sound/SoundManager.js line 290 @@ -3608,7 +3608,7 @@

Source:
- src/sound/SoundManager.js line 385 + src/sound/SoundManager.js line 385 @@ -3692,7 +3692,7 @@

Source:
- src/sound/SoundManager.js line 339 + src/sound/SoundManager.js line 339 @@ -3800,7 +3800,7 @@

Source:
- src/sound/SoundManager.js line 538 + src/sound/SoundManager.js line 538 @@ -3843,9 +3843,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3862,7 +3862,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3891,7 +3891,7 @@

- + diff --git a/docs/Phaser.Sprite.html b/docs/Phaser.Sprite.html index 6d9970fa4..3c008e4e8 100644 --- a/docs/Phaser.Sprite.html +++ b/docs/Phaser.Sprite.html @@ -6,7 +6,7 @@ Phaser CE Class: Sprite - + @@ -341,7 +341,7 @@

Parameters:
Source:
- src/gameobjects/Sprite.js line 44 + src/gameobjects/Sprite.js line 44 @@ -519,7 +519,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -615,7 +615,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -705,7 +705,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -796,7 +796,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -883,7 +883,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -980,7 +980,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1074,7 +1074,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1177,7 +1177,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1264,7 +1264,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1357,7 +1357,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1531,7 +1531,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1618,7 +1618,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1710,7 +1710,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1796,7 +1796,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1882,7 +1882,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1970,7 +1970,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2066,7 +2066,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2152,7 +2152,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2239,7 +2239,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2326,7 +2326,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2412,7 +2412,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2499,7 +2499,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2586,7 +2586,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2691,7 +2691,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2961,7 +2961,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3052,7 +3052,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3143,7 +3143,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3230,7 +3230,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3410,7 +3410,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3496,7 +3496,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -3592,7 +3592,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3680,7 +3680,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3772,7 +3772,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3863,7 +3863,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3956,7 +3956,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4042,7 +4042,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -4144,7 +4144,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4231,7 +4231,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4321,7 +4321,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4410,7 +4410,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -4504,7 +4504,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4591,7 +4591,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4679,7 +4679,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4767,7 +4767,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4853,7 +4853,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4940,7 +4940,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -5029,7 +5029,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5118,7 +5118,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5195,7 +5195,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5282,7 +5282,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5370,7 +5370,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5456,7 +5456,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5542,7 +5542,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5629,7 +5629,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5716,7 +5716,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5803,7 +5803,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5892,7 +5892,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5981,7 +5981,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6069,7 +6069,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6157,7 +6157,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6251,7 +6251,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6339,7 +6339,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6425,7 +6425,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6518,7 +6518,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6611,7 +6611,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6698,7 +6698,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6784,7 +6784,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6870,7 +6870,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6947,7 +6947,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7046,7 +7046,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7132,7 +7132,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -7220,7 +7220,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7312,7 +7312,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7403,7 +7403,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7494,7 +7494,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -7585,7 +7585,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7676,7 +7676,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7762,7 +7762,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7854,7 +7854,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -7946,7 +7946,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -8035,7 +8035,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8172,7 +8172,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8363,7 +8363,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8706,7 +8706,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -9050,7 +9050,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9170,7 +9170,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9337,7 +9337,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9563,7 +9563,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9707,7 +9707,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9831,7 +9831,7 @@

Source:
- src/pixi/display/DisplayObject.js line 255 + src/pixi/display/DisplayObject.js line 255 @@ -10076,7 +10076,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -10252,7 +10252,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10419,7 +10419,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10586,7 +10586,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10703,7 +10703,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10870,7 +10870,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -10991,7 +10991,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -11276,7 +11276,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11372,7 +11372,7 @@

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

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11675,7 +11675,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11981,7 +11981,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12098,7 +12098,7 @@

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

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

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12447,7 +12447,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12614,7 +12614,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12805,7 +12805,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13044,7 +13044,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13161,7 +13161,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13354,7 +13354,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13519,7 +13519,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -13639,7 +13639,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13830,7 +13830,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -13974,7 +13974,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -14118,7 +14118,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14379,7 +14379,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -14579,7 +14579,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -14746,7 +14746,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14889,7 +14889,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -15102,7 +15102,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -15223,7 +15223,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -15436,7 +15436,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -15599,7 +15599,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -15668,9 +15668,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -15687,7 +15687,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -15716,7 +15716,7 @@
Returns:
- + diff --git a/docs/Phaser.SpriteBatch.html b/docs/Phaser.SpriteBatch.html index e38c4747c..5434b93d5 100644 --- a/docs/Phaser.SpriteBatch.html +++ b/docs/Phaser.SpriteBatch.html @@ -6,7 +6,7 @@ Phaser CE Class: SpriteBatch - + @@ -372,7 +372,7 @@
Parameters:
Source:
- src/gameobjects/SpriteBatch.js line 23 + src/gameobjects/SpriteBatch.js line 23 @@ -504,7 +504,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -590,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -679,7 +679,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -767,7 +767,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -860,7 +860,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -947,7 +947,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1035,7 +1035,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1123,7 +1123,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1209,7 +1209,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1303,7 +1303,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1390,7 +1390,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1564,7 +1564,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -1744,7 +1744,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -1830,7 +1830,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -1921,7 +1921,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2009,7 +2009,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2095,7 +2095,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2185,7 +2185,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2271,7 +2271,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -2367,7 +2367,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2455,7 +2455,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2541,7 +2541,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2629,7 +2629,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -2717,7 +2717,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -2803,7 +2803,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -2892,7 +2892,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -2978,7 +2978,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3068,7 +3068,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3158,7 +3158,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3248,7 +3248,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3339,7 +3339,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3425,7 +3425,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3514,7 +3514,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -3604,7 +3604,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3691,7 +3691,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -3784,7 +3784,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -3870,7 +3870,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -3957,7 +3957,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4045,7 +4045,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4132,7 +4132,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4220,7 +4220,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4308,7 +4308,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4397,7 +4397,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4485,7 +4485,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -4571,7 +4571,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -4653,7 +4653,7 @@
Type:
Source:
- src/gameobjects/SpriteBatch.js line 33 + src/gameobjects/SpriteBatch.js line 33 @@ -4739,7 +4739,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -4825,7 +4825,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -4911,7 +4911,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -5003,7 +5003,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5094,7 +5094,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5185,7 +5185,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5276,7 +5276,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5367,7 +5367,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -5453,7 +5453,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -5541,7 +5541,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -5629,7 +5629,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -5716,7 +5716,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -5954,7 +5954,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6232,7 +6232,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6474,7 +6474,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6641,7 +6641,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6832,7 +6832,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7063,7 +7063,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7234,7 +7234,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7629,7 +7629,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -7972,7 +7972,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8316,7 +8316,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8507,7 +8507,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -8650,7 +8650,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -8913,7 +8913,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9133,7 +9133,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9324,7 +9324,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -9640,7 +9640,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -9942,7 +9942,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10239,7 +10239,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10406,7 +10406,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10593,7 +10593,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -10710,7 +10710,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -10827,7 +10827,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11221,7 +11221,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -11628,7 +11628,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11841,7 +11841,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -12008,7 +12008,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12212,7 +12212,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12428,7 +12428,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -12632,7 +12632,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -12936,7 +12936,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13174,7 +13174,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13412,7 +13412,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -13650,7 +13650,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13895,7 +13895,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -14203,7 +14203,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14372,7 +14372,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -14493,7 +14493,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -14675,7 +14675,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -14844,7 +14844,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -15011,7 +15011,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15178,7 +15178,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15429,7 +15429,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -15620,7 +15620,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -15979,7 +15979,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16338,7 +16338,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -16736,7 +16736,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -16987,7 +16987,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17154,7 +17154,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17271,7 +17271,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -17498,7 +17498,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -17726,7 +17726,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -17844,7 +17844,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -18036,7 +18036,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18423,7 +18423,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -18540,7 +18540,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -18633,7 +18633,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -18832,7 +18832,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -18999,7 +18999,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -19166,7 +19166,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -19406,7 +19406,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -19500,7 +19500,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -19617,7 +19617,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -19710,7 +19710,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -19804,7 +19804,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -20069,7 +20069,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20339,7 +20339,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -20616,7 +20616,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -20759,7 +20759,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -20926,7 +20926,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -21117,7 +21117,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21261,7 +21261,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -21454,7 +21454,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -21808,7 +21808,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -22114,7 +22114,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -22302,7 +22302,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -22420,7 +22420,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -22513,7 +22513,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -22606,7 +22606,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -22809,7 +22809,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -22952,7 +22952,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -23368,7 +23368,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -23750,7 +23750,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -24108,7 +24108,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -24275,7 +24275,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -24594,7 +24594,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -24712,7 +24712,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -24919,7 +24919,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -25135,7 +25135,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -25303,7 +25303,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -25470,7 +25470,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -25613,7 +25613,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -25826,7 +25826,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -25946,7 +25946,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -26039,7 +26039,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -26228,7 +26228,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -26348,7 +26348,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -26539,7 +26539,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -26582,9 +26582,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -26601,7 +26601,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -26630,7 +26630,7 @@
Parameters:
- + diff --git a/docs/Phaser.Stage.html b/docs/Phaser.Stage.html index b744db7ca..1a4b9ef8c 100644 --- a/docs/Phaser.Stage.html +++ b/docs/Phaser.Stage.html @@ -6,7 +6,7 @@ Phaser CE Class: Stage - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/core/Stage.js line 16 + src/core/Stage.js line 16 @@ -366,7 +366,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -446,7 +446,7 @@
Type:
Source:
- src/core/Stage.js line 450 + src/core/Stage.js line 450 @@ -546,7 +546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -632,7 +632,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -709,7 +709,7 @@
Type:
Source:
- src/core/Stage.js line 65 + src/core/Stage.js line 65 @@ -790,7 +790,7 @@
Type:
Source:
- src/core/Stage.js line 40 + src/core/Stage.js line 40 @@ -874,7 +874,7 @@
Type:
Source:
- src/core/Stage.js line 46 + src/core/Stage.js line 46 @@ -960,7 +960,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -1051,7 +1051,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -1128,7 +1128,7 @@
Type:
Source:
- src/core/Stage.js line 21 + src/core/Stage.js line 21 @@ -1214,7 +1214,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -1310,7 +1310,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -1398,7 +1398,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -1571,7 +1571,7 @@
Type:
Source:
- src/core/Stage.js line 29 + src/core/Stage.js line 29 @@ -1660,7 +1660,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1922,7 +1922,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -2011,7 +2011,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -2100,7 +2100,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -2177,7 +2177,7 @@
Type:
Source:
- src/core/Stage.js line 471 + src/core/Stage.js line 471 @@ -2276,7 +2276,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -2362,7 +2362,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -2459,7 +2459,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -2550,7 +2550,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -2641,7 +2641,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -2732,7 +2732,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -2818,7 +2818,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -2905,7 +2905,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -2992,7 +2992,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -3202,7 +3202,7 @@
Parameters:
Source:
- src/core/Stage.js line 410 + src/core/Stage.js line 410 @@ -3369,7 +3369,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -3560,7 +3560,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -3669,7 +3669,7 @@

Source:
- src/core/Stage.js line 230 + src/core/Stage.js line 230 @@ -3812,7 +3812,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -3921,7 +3921,7 @@

Source:
- src/core/Stage.js line 388 + src/core/Stage.js line 388 @@ -4166,7 +4166,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -4350,7 +4350,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -4517,7 +4517,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -4684,7 +4684,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -4801,7 +4801,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -4959,7 +4959,7 @@
Parameters:
Source:
- src/core/Stage.js line 101 + src/core/Stage.js line 101 @@ -5045,7 +5045,7 @@

Source:
- src/core/Stage.js line 182 + src/core/Stage.js line 182 @@ -5135,7 +5135,7 @@

Source:
- src/core/Stage.js line 138 + src/core/Stage.js line 138 @@ -5278,7 +5278,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -5445,7 +5445,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -5636,7 +5636,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -5777,7 +5777,7 @@
Parameters:
Source:
- src/core/Stage.js line 359 + src/core/Stage.js line 359 @@ -5944,7 +5944,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -6111,7 +6111,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -6254,7 +6254,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -6467,7 +6467,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -6577,7 +6577,7 @@

Source:
- src/core/Stage.js line 165 + src/core/Stage.js line 165 @@ -6670,7 +6670,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -6786,7 +6786,7 @@

Source:
- src/core/Stage.js line 213 + src/core/Stage.js line 213 @@ -6926,7 +6926,7 @@
Parameters:
Source:
- src/core/Stage.js line 315 + src/core/Stage.js line 315 @@ -6969,9 +6969,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -6988,7 +6988,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -7017,7 +7017,7 @@
Parameters:
- + diff --git a/docs/Phaser.State.html b/docs/Phaser.State.html index b04fde7d4..72c93a9f7 100644 --- a/docs/Phaser.State.html +++ b/docs/Phaser.State.html @@ -6,7 +6,7 @@ Phaser CE Class: State - + @@ -245,7 +245,7 @@

Callbacks

Source:
- src/core/State.js line 30 + src/core/State.js line 30 @@ -350,7 +350,7 @@
Type:
Source:
- src/core/State.js line 45 + src/core/State.js line 45 @@ -427,7 +427,7 @@
Type:
Source:
- src/core/State.js line 60 + src/core/State.js line 60 @@ -504,7 +504,7 @@
Type:
Source:
- src/core/State.js line 55 + src/core/State.js line 55 @@ -581,7 +581,7 @@
Type:
Source:
- src/core/State.js line 35 + src/core/State.js line 35 @@ -658,7 +658,7 @@
Type:
Source:
- src/core/State.js line 65 + src/core/State.js line 65 @@ -735,7 +735,7 @@
Type:
Source:
- src/core/State.js line 40 + src/core/State.js line 40 @@ -812,7 +812,7 @@
Type:
Source:
- src/core/State.js line 70 + src/core/State.js line 70 @@ -889,7 +889,7 @@
Type:
Source:
- src/core/State.js line 50 + src/core/State.js line 50 @@ -966,7 +966,7 @@
Type:
Source:
- src/core/State.js line 75 + src/core/State.js line 75 @@ -1043,7 +1043,7 @@
Type:
Source:
- src/core/State.js line 115 + src/core/State.js line 115 @@ -1120,7 +1120,7 @@
Type:
Source:
- src/core/State.js line 120 + src/core/State.js line 120 @@ -1197,7 +1197,7 @@
Type:
Source:
- src/core/State.js line 125 + src/core/State.js line 125 @@ -1274,7 +1274,7 @@
Type:
Source:
- src/core/State.js line 85 + src/core/State.js line 85 @@ -1351,7 +1351,7 @@
Type:
Source:
- src/core/State.js line 80 + src/core/State.js line 80 @@ -1428,7 +1428,7 @@
Type:
Source:
- src/core/State.js line 90 + src/core/State.js line 90 @@ -1446,72 +1446,34 @@
Type:

- state + state : Phaser.StateManager

- - - - -
+
+

A reference to the State Manager, which controls state changes.

+
-
Properties:
- -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - -
NameTypeDescription
stage - +
Type:
+

A reference to the State Manager, which controls state changes.

-

+
+ @@ -1543,7 +1505,7 @@
Properties:
Source:
- src/core/State.js line 95 + src/core/State.js line 95 @@ -1620,7 +1582,7 @@
Type:
Source:
- src/core/State.js line 100 + src/core/State.js line 100 @@ -1697,7 +1659,7 @@
Type:
Source:
- src/core/State.js line 105 + src/core/State.js line 105 @@ -1774,7 +1736,7 @@
Type:
Source:
- src/core/State.js line 110 + src/core/State.js line 110 @@ -1903,7 +1865,7 @@
Parameters:
Source:
- src/core/State.js line 172 + src/core/State.js line 172 @@ -2051,7 +2013,7 @@
Parameters:
Source:
- src/core/State.js line 131 + src/core/State.js line 131 @@ -2186,7 +2148,7 @@
Parameters:
Source:
- src/core/State.js line 162 + src/core/State.js line 162 @@ -2320,7 +2282,7 @@
Parameters:
Source:
- src/core/State.js line 153 + src/core/State.js line 153 @@ -2454,7 +2416,7 @@
Parameters:
Source:
- src/core/State.js line 224 + src/core/State.js line 224 @@ -2588,7 +2550,7 @@
Parameters:
Source:
- src/core/State.js line 242 + src/core/State.js line 242 @@ -2724,7 +2686,7 @@
Parameters:
Source:
- src/core/State.js line 142 + src/core/State.js line 142 @@ -2882,7 +2844,7 @@
Parameters:
Source:
- src/core/State.js line 193 + src/core/State.js line 193 @@ -3018,7 +2980,7 @@
Parameters:
Source:
- src/core/State.js line 203 + src/core/State.js line 203 @@ -3176,7 +3138,7 @@
Parameters:
Source:
- src/core/State.js line 214 + src/core/State.js line 214 @@ -3310,7 +3272,7 @@
Parameters:
Source:
- src/core/State.js line 233 + src/core/State.js line 233 @@ -3444,7 +3406,7 @@
Parameters:
Source:
- src/core/State.js line 251 + src/core/State.js line 251 @@ -3580,7 +3542,7 @@
Parameters:
Source:
- src/core/State.js line 182 + src/core/State.js line 182 @@ -3623,9 +3585,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3642,7 +3604,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3671,7 +3633,7 @@
Parameters:
- + diff --git a/docs/Phaser.StateManager.html b/docs/Phaser.StateManager.html index e3fc03f4c..6d4859ec6 100644 --- a/docs/Phaser.StateManager.html +++ b/docs/Phaser.StateManager.html @@ -6,7 +6,7 @@ Phaser CE Class: StateManager - + @@ -289,7 +289,7 @@
Parameters:
Source:
- src/core/StateManager.js line 17 + src/core/StateManager.js line 17 @@ -394,7 +394,7 @@
Type:
Source:
- src/core/StateManager.js line 798 + src/core/StateManager.js line 798 @@ -471,7 +471,7 @@
Type:
Source:
- src/core/StateManager.js line 68 + src/core/StateManager.js line 68 @@ -548,7 +548,7 @@
Type:
Source:
- src/core/StateManager.js line 22 + src/core/StateManager.js line 22 @@ -625,7 +625,7 @@
Type:
Source:
- src/core/StateManager.js line 100 + src/core/StateManager.js line 100 @@ -702,7 +702,7 @@
Type:
Source:
- src/core/StateManager.js line 88 + src/core/StateManager.js line 88 @@ -779,7 +779,7 @@
Type:
Source:
- src/core/StateManager.js line 136 + src/core/StateManager.js line 136 @@ -856,7 +856,7 @@
Type:
Source:
- src/core/StateManager.js line 130 + src/core/StateManager.js line 130 @@ -933,7 +933,7 @@
Type:
Source:
- src/core/StateManager.js line 142 + src/core/StateManager.js line 142 @@ -1010,7 +1010,7 @@
Type:
Source:
- src/core/StateManager.js line 154 + src/core/StateManager.js line 154 @@ -1087,7 +1087,7 @@
Type:
Source:
- src/core/StateManager.js line 94 + src/core/StateManager.js line 94 @@ -1164,7 +1164,7 @@
Type:
Source:
- src/core/StateManager.js line 124 + src/core/StateManager.js line 124 @@ -1241,7 +1241,7 @@
Type:
Source:
- src/core/StateManager.js line 112 + src/core/StateManager.js line 112 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/core/StateManager.js line 118 + src/core/StateManager.js line 118 @@ -1395,7 +1395,7 @@
Type:
Source:
- src/core/StateManager.js line 148 + src/core/StateManager.js line 148 @@ -1472,7 +1472,7 @@
Type:
Source:
- src/core/StateManager.js line 160 + src/core/StateManager.js line 160 @@ -1554,7 +1554,7 @@
Type:
Source:
- src/core/StateManager.js line 82 + src/core/StateManager.js line 82 @@ -1631,7 +1631,7 @@
Type:
Source:
- src/core/StateManager.js line 106 + src/core/StateManager.js line 106 @@ -1708,7 +1708,7 @@
Type:
Source:
- src/core/StateManager.js line 27 + src/core/StateManager.js line 27 @@ -1942,7 +1942,7 @@
Parameters:
Source:
- src/core/StateManager.js line 183 + src/core/StateManager.js line 183 @@ -2076,7 +2076,7 @@
Parameters:
Source:
- src/core/StateManager.js line 430 + src/core/StateManager.js line 430 @@ -2185,7 +2185,7 @@

Source:
- src/core/StateManager.js line 385 + src/core/StateManager.js line 385 @@ -2270,7 +2270,7 @@

Source:
- src/core/StateManager.js line 760 + src/core/StateManager.js line 760 @@ -2354,7 +2354,7 @@

Source:
- src/core/StateManager.js line 584 + src/core/StateManager.js line 584 @@ -2508,7 +2508,7 @@
Parameters:
Source:
- src/core/StateManager.js line 461 + src/core/StateManager.js line 461 @@ -2588,7 +2588,7 @@

Source:
- src/core/StateManager.js line 595 + src/core/StateManager.js line 595 @@ -2675,7 +2675,7 @@

Source:
- src/core/StateManager.js line 614 + src/core/StateManager.js line 614 @@ -2762,7 +2762,7 @@

Source:
- src/core/StateManager.js line 628 + src/core/StateManager.js line 628 @@ -2842,7 +2842,7 @@

Source:
- src/core/StateManager.js line 677 + src/core/StateManager.js line 677 @@ -2972,7 +2972,7 @@
Parameters:
Source:
- src/core/StateManager.js line 700 + src/core/StateManager.js line 700 @@ -3056,7 +3056,7 @@

Source:
- src/core/StateManager.js line 331 + src/core/StateManager.js line 331 @@ -3190,7 +3190,7 @@
Parameters:
Source:
- src/core/StateManager.js line 238 + src/core/StateManager.js line 238 @@ -3270,7 +3270,7 @@

Source:
- src/core/StateManager.js line 727 + src/core/StateManager.js line 727 @@ -3350,7 +3350,7 @@

Source:
- src/core/StateManager.js line 714 + src/core/StateManager.js line 714 @@ -3582,7 +3582,7 @@
Parameters:
Source:
- src/core/StateManager.js line 298 + src/core/StateManager.js line 298 @@ -3662,7 +3662,7 @@

Source:
- src/core/StateManager.js line 641 + src/core/StateManager.js line 641 @@ -3930,7 +3930,7 @@
Parameters:
Source:
- src/core/StateManager.js line 269 + src/core/StateManager.js line 269 @@ -4064,7 +4064,7 @@
Parameters:
Source:
- src/core/StateManager.js line 494 + src/core/StateManager.js line 494 @@ -4144,7 +4144,7 @@

Source:
- src/core/StateManager.js line 654 + src/core/StateManager.js line 654 @@ -4187,9 +4187,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -4206,7 +4206,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -4235,7 +4235,7 @@

- + diff --git a/docs/Phaser.Text.html b/docs/Phaser.Text.html index 202ccb40f..802313b44 100644 --- a/docs/Phaser.Text.html +++ b/docs/Phaser.Text.html @@ -6,7 +6,7 @@ Phaser CE Class: Text - + @@ -1046,7 +1046,7 @@

Properties
Source:
- src/gameobjects/Text.js line 40 + src/gameobjects/Text.js line 40 @@ -1164,7 +1164,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1914 + src/gameobjects/Text.js line 1928 @@ -1261,7 +1261,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -1357,7 +1357,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -1447,7 +1447,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -1538,7 +1538,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1625,7 +1625,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1722,7 +1722,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1800,7 +1800,7 @@
Type:
Source:
- src/gameobjects/Text.js line 119 + src/gameobjects/Text.js line 119 @@ -1894,7 +1894,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1997,7 +1997,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -2084,7 +2084,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1991 + src/gameobjects/Text.js line 2005 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2015 + src/gameobjects/Text.js line 2029 @@ -2331,7 +2331,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -2418,7 +2418,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -2495,7 +2495,7 @@
Type:
Source:
- src/gameobjects/Text.js line 57 + src/gameobjects/Text.js line 57 @@ -2582,7 +2582,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -2669,7 +2669,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -2746,7 +2746,7 @@
Type:
Source:
- src/gameobjects/Text.js line 146 + src/gameobjects/Text.js line 146 @@ -2824,7 +2824,7 @@
Type:
Source:
- src/gameobjects/Text.js line 152 + src/gameobjects/Text.js line 152 @@ -2916,7 +2916,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -3002,7 +3002,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -3079,7 +3079,7 @@
Type:
Source:
- src/gameobjects/Text.js line 96 + src/gameobjects/Text.js line 96 @@ -3165,7 +3165,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -3242,7 +3242,7 @@
Type:
Source:
- src/gameobjects/Text.js line 91 + src/gameobjects/Text.js line 91 @@ -3330,7 +3330,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -3410,7 +3410,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1726 + src/gameobjects/Text.js line 1740 @@ -3506,7 +3506,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -3592,7 +3592,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -3679,7 +3679,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -3766,7 +3766,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -3852,7 +3852,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -3939,7 +3939,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -4026,7 +4026,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -4126,7 +4126,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -4203,7 +4203,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1892 + src/gameobjects/Text.js line 1906 @@ -4289,7 +4289,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -4380,7 +4380,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -4473,7 +4473,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -4553,7 +4553,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1752 + src/gameobjects/Text.js line 1766 @@ -4635,7 +4635,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1787 + src/gameobjects/Text.js line 1801 @@ -4712,7 +4712,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1850 + src/gameobjects/Text.js line 1864 @@ -4789,7 +4789,7 @@
Type:
Source:
- src/gameobjects/Text.js line 106 + src/gameobjects/Text.js line 106 @@ -4866,7 +4866,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1871 + src/gameobjects/Text.js line 1885 @@ -4943,7 +4943,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1829 + src/gameobjects/Text.js line 1843 @@ -5020,7 +5020,7 @@
Type:
Source:
- src/gameobjects/Text.js line 111 + src/gameobjects/Text.js line 111 @@ -5111,7 +5111,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -5202,7 +5202,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -5289,7 +5289,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -5375,7 +5375,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -5469,7 +5469,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -5551,7 +5551,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2312 + src/gameobjects/Text.js line 2326 @@ -5647,7 +5647,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -5735,7 +5735,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -5822,7 +5822,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -5913,7 +5913,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -6006,7 +6006,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -6092,7 +6092,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -6194,7 +6194,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -6281,7 +6281,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -6371,7 +6371,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -6448,7 +6448,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2127 + src/gameobjects/Text.js line 2141 @@ -6537,7 +6537,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -6631,7 +6631,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -6718,7 +6718,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -6806,7 +6806,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -6894,7 +6894,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -6980,7 +6980,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -7067,7 +7067,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -7094,7 +7094,7 @@

Specify a padding value which is added to the line width and height when calculating the Text size. -ALlows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions.

+Allows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions.

@@ -7145,7 +7145,7 @@

Type:
Source:
- src/gameobjects/Text.js line 78 + src/gameobjects/Text.js line 78 @@ -7234,7 +7234,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -7323,7 +7323,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -7405,7 +7405,7 @@
Type:
Source:
- src/gameobjects/Text.js line 71 + src/gameobjects/Text.js line 71 @@ -7492,7 +7492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -7580,7 +7580,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -7666,7 +7666,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -7752,7 +7752,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -7844,7 +7844,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -7931,7 +7931,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -8009,7 +8009,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1940 + src/gameobjects/Text.js line 1954 @@ -8096,7 +8096,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -8185,7 +8185,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -8274,7 +8274,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -8362,7 +8362,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -8450,7 +8450,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -8544,7 +8544,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -8621,7 +8621,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2220 + src/gameobjects/Text.js line 2234 @@ -8698,7 +8698,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2198 + src/gameobjects/Text.js line 2212 @@ -8775,7 +8775,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2264 + src/gameobjects/Text.js line 2278 @@ -8852,7 +8852,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2154 + src/gameobjects/Text.js line 2168 @@ -8929,7 +8929,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2176 + src/gameobjects/Text.js line 2190 @@ -9006,7 +9006,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2242 + src/gameobjects/Text.js line 2256 @@ -9094,7 +9094,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -9173,7 +9173,7 @@
Type:
Source:
- src/gameobjects/Text.js line 140 + src/gameobjects/Text.js line 140 @@ -9250,7 +9250,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2039 + src/gameobjects/Text.js line 2053 @@ -9327,7 +9327,7 @@
Type:
Source:
- src/gameobjects/Text.js line 101 + src/gameobjects/Text.js line 101 @@ -9404,7 +9404,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2061 + src/gameobjects/Text.js line 2075 @@ -9487,7 +9487,80 @@
Type:
Source:
- src/gameobjects/Text.js line 1964 + src/gameobjects/Text.js line 1978 + + + + + + + +

+ + + +
+ + + +
+

+ testString + +

+ +
+
+ +
+

The text used to measure the font's width and height

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
+
    +
  • '|MÉq'
  • +
+
+ + + + + +
Source:
+
+ + src/gameobjects/Text.js line 2352 @@ -9566,7 +9639,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1695 + src/gameobjects/Text.js line 1709 @@ -9644,7 +9717,7 @@
Type:
Source:
- src/gameobjects/Text.js line 86 + src/gameobjects/Text.js line 86 @@ -9730,7 +9803,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -9823,7 +9896,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -9916,7 +9989,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -10003,7 +10076,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -10089,7 +10162,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -10175,7 +10248,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -10257,7 +10330,7 @@
Type:
Source:
- src/gameobjects/Text.js line 65 + src/gameobjects/Text.js line 65 @@ -10338,7 +10411,7 @@
Type:
Source:
- src/gameobjects/Text.js line 132 + src/gameobjects/Text.js line 132 @@ -10437,7 +10510,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -10519,7 +10592,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2286 + src/gameobjects/Text.js line 2300 @@ -10596,7 +10669,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2083 + src/gameobjects/Text.js line 2097 @@ -10673,7 +10746,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2105 + src/gameobjects/Text.js line 2119 @@ -10761,7 +10834,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -10853,7 +10926,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -10944,7 +11017,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -11035,7 +11108,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -11126,7 +11199,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -11217,7 +11290,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -11303,7 +11376,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -11390,7 +11463,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -11477,7 +11550,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -11566,7 +11639,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -11703,7 +11776,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -11894,7 +11967,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -12081,7 +12154,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 857 + src/gameobjects/Text.js line 863 @@ -12268,7 +12341,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 907 + src/gameobjects/Text.js line 913 @@ -12455,7 +12528,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 931 + src/gameobjects/Text.js line 937 @@ -12643,7 +12716,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 881 + src/gameobjects/Text.js line 887 @@ -12986,7 +13059,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -13330,7 +13403,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -13450,7 +13523,7 @@

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

Source:
- src/gameobjects/Text.js line 825 + src/gameobjects/Text.js line 831 @@ -13666,7 +13739,7 @@

Source:
- src/gameobjects/Text.js line 841 + src/gameobjects/Text.js line 847 @@ -13833,7 +13906,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -14059,7 +14132,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -14203,7 +14276,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -14386,7 +14459,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 241 + src/gameobjects/Text.js line 247 @@ -14631,7 +14704,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -14797,7 +14870,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1659 + src/gameobjects/Text.js line 1673 @@ -14964,7 +15037,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15131,7 +15204,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15248,7 +15321,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -15415,7 +15488,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -15536,7 +15609,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -15821,7 +15894,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -15917,7 +15990,7 @@

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

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -16220,7 +16293,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -16387,7 +16460,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1314 + src/gameobjects/Text.js line 1327 @@ -16693,7 +16766,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -16810,7 +16883,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -16947,7 +17020,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 955 + src/gameobjects/Text.js line 961 @@ -17060,7 +17133,7 @@

Source:
- src/gameobjects/Text.js line 214 + src/gameobjects/Text.js line 220 @@ -17153,7 +17226,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -17296,7 +17369,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -17463,7 +17536,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -17654,7 +17727,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -17893,7 +17966,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -18010,7 +18083,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -18203,7 +18276,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -18368,7 +18441,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -18488,7 +18561,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -18693,7 +18766,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1679 + src/gameobjects/Text.js line 1693 @@ -18860,7 +18933,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -19004,7 +19077,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -19148,7 +19221,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -19409,7 +19482,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -19766,7 +19839,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 255 + src/gameobjects/Text.js line 261 @@ -20658,7 +20731,7 @@
Properties
Source:
- src/gameobjects/Text.js line 291 + src/gameobjects/Text.js line 297 @@ -20879,7 +20952,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1280 + src/gameobjects/Text.js line 1286 @@ -21166,7 +21239,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1375 + src/gameobjects/Text.js line 1388 @@ -21390,7 +21463,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -21557,7 +21630,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -21700,7 +21773,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -21913,7 +21986,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -22028,7 +22101,7 @@

Source:
- src/gameobjects/Text.js line 231 + src/gameobjects/Text.js line 237 @@ -22121,7 +22194,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -22241,7 +22314,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -22376,7 +22449,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 680 + src/gameobjects/Text.js line 686 @@ -22539,7 +22612,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -22608,9 +22681,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -22627,7 +22700,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -22656,7 +22729,7 @@
Returns:
- + diff --git a/docs/Phaser.Tile.html b/docs/Phaser.Tile.html index ea3071567..8445e64b3 100644 --- a/docs/Phaser.Tile.html +++ b/docs/Phaser.Tile.html @@ -6,7 +6,7 @@ Phaser CE Class: Tile - + @@ -350,7 +350,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 19 + src/tilemap/Tile.js line 19 @@ -455,7 +455,7 @@
Type:
Source:
- src/tilemap/Tile.js line 84 + src/tilemap/Tile.js line 84 @@ -532,7 +532,7 @@
Type:
Source:
- src/tilemap/Tile.js line 402 + src/tilemap/Tile.js line 402 @@ -609,7 +609,7 @@
Type:
Source:
- src/tilemap/Tile.js line 350 + src/tilemap/Tile.js line 350 @@ -724,7 +724,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 74 + src/tilemap/Tile.js line 74 @@ -839,7 +839,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 79 + src/tilemap/Tile.js line 79 @@ -916,7 +916,7 @@
Type:
Source:
- src/tilemap/Tile.js line 138 + src/tilemap/Tile.js line 138 @@ -993,7 +993,7 @@
Type:
Source:
- src/tilemap/Tile.js line 120 + src/tilemap/Tile.js line 120 @@ -1070,7 +1070,7 @@
Type:
Source:
- src/tilemap/Tile.js line 126 + src/tilemap/Tile.js line 126 @@ -1147,7 +1147,7 @@
Type:
Source:
- src/tilemap/Tile.js line 337 + src/tilemap/Tile.js line 337 @@ -1224,7 +1224,7 @@
Type:
Source:
- src/tilemap/Tile.js line 132 + src/tilemap/Tile.js line 132 @@ -1301,7 +1301,7 @@
Type:
Source:
- src/tilemap/Tile.js line 144 + src/tilemap/Tile.js line 144 @@ -1378,7 +1378,7 @@
Type:
Source:
- src/tilemap/Tile.js line 150 + src/tilemap/Tile.js line 150 @@ -1451,7 +1451,7 @@
Type:
Source:
- src/tilemap/Tile.js line 156 + src/tilemap/Tile.js line 156 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/tilemap/Tile.js line 104 + src/tilemap/Tile.js line 104 @@ -1605,7 +1605,7 @@
Type:
Source:
- src/tilemap/Tile.js line 109 + src/tilemap/Tile.js line 109 @@ -1682,7 +1682,7 @@
Type:
Source:
- src/tilemap/Tile.js line 114 + src/tilemap/Tile.js line 114 @@ -1759,7 +1759,7 @@
Type:
Source:
- src/tilemap/Tile.js line 99 + src/tilemap/Tile.js line 99 @@ -1836,7 +1836,7 @@
Type:
Source:
- src/tilemap/Tile.js line 49 + src/tilemap/Tile.js line 49 @@ -1913,7 +1913,7 @@
Type:
Source:
- src/tilemap/Tile.js line 69 + src/tilemap/Tile.js line 69 @@ -1990,7 +1990,7 @@
Type:
Source:
- src/tilemap/Tile.js line 29 + src/tilemap/Tile.js line 29 @@ -2067,7 +2067,7 @@
Type:
Source:
- src/tilemap/Tile.js line 24 + src/tilemap/Tile.js line 24 @@ -2144,7 +2144,7 @@
Type:
Source:
- src/tilemap/Tile.js line 363 + src/tilemap/Tile.js line 363 @@ -2221,7 +2221,7 @@
Type:
Source:
- src/tilemap/Tile.js line 89 + src/tilemap/Tile.js line 89 @@ -2298,7 +2298,7 @@
Type:
Source:
- src/tilemap/Tile.js line 376 + src/tilemap/Tile.js line 376 @@ -2375,7 +2375,7 @@
Type:
Source:
- src/tilemap/Tile.js line 44 + src/tilemap/Tile.js line 44 @@ -2452,7 +2452,7 @@
Type:
Source:
- src/tilemap/Tile.js line 94 + src/tilemap/Tile.js line 94 @@ -2529,7 +2529,7 @@
Type:
Source:
- src/tilemap/Tile.js line 389 + src/tilemap/Tile.js line 389 @@ -2606,7 +2606,7 @@
Type:
Source:
- src/tilemap/Tile.js line 64 + src/tilemap/Tile.js line 64 @@ -2721,7 +2721,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 54 + src/tilemap/Tile.js line 54 @@ -2836,7 +2836,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 59 + src/tilemap/Tile.js line 59 @@ -2913,7 +2913,7 @@
Type:
Source:
- src/tilemap/Tile.js line 34 + src/tilemap/Tile.js line 34 @@ -2990,7 +2990,7 @@
Type:
Source:
- src/tilemap/Tile.js line 39 + src/tilemap/Tile.js line 39 @@ -3142,7 +3142,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 162 + src/tilemap/Tile.js line 162 @@ -3300,7 +3300,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 311 + src/tilemap/Tile.js line 311 @@ -3384,7 +3384,7 @@

Source:
- src/tilemap/Tile.js line 226 + src/tilemap/Tile.js line 226 @@ -3590,7 +3590,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 176 + src/tilemap/Tile.js line 176 @@ -3748,7 +3748,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 281 + src/tilemap/Tile.js line 281 @@ -3856,7 +3856,7 @@

Source:
- src/tilemap/Tile.js line 262 + src/tilemap/Tile.js line 262 @@ -4062,7 +4062,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 239 + src/tilemap/Tile.js line 239 @@ -4221,7 +4221,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 211 + src/tilemap/Tile.js line 211 @@ -4264,9 +4264,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -4283,7 +4283,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -4312,7 +4312,7 @@
Parameters:
- + diff --git a/docs/Phaser.TileSprite.html b/docs/Phaser.TileSprite.html index b44e2e112..2f08d91b0 100644 --- a/docs/Phaser.TileSprite.html +++ b/docs/Phaser.TileSprite.html @@ -6,7 +6,7 @@ Phaser CE Class: TileSprite - + @@ -502,7 +502,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 59 + src/gameobjects/TileSprite.js line 59 @@ -674,7 +674,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -770,7 +770,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -860,7 +860,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -951,7 +951,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1038,7 +1038,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1135,7 +1135,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1229,7 +1229,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1332,7 +1332,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1419,7 +1419,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1512,7 +1512,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1599,7 +1599,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1676,7 +1676,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 116 + src/gameobjects/TileSprite.js line 116 @@ -1763,7 +1763,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1850,7 +1850,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1942,7 +1942,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -2028,7 +2028,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -2114,7 +2114,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2210,7 +2210,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2296,7 +2296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2383,7 +2383,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2470,7 +2470,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2575,7 +2575,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2661,7 +2661,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2752,7 +2752,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2845,7 +2845,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2936,7 +2936,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3027,7 +3027,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3114,7 +3114,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3200,7 +3200,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3294,7 +3294,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3380,7 +3380,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -3476,7 +3476,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3564,7 +3564,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3656,7 +3656,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3747,7 +3747,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3840,7 +3840,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3926,7 +3926,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -4028,7 +4028,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4115,7 +4115,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4205,7 +4205,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4294,7 +4294,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -4388,7 +4388,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4475,7 +4475,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4563,7 +4563,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4651,7 +4651,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4737,7 +4737,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4824,7 +4824,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -4913,7 +4913,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5002,7 +5002,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5079,7 +5079,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 80 + src/gameobjects/TileSprite.js line 80 @@ -5166,7 +5166,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5254,7 +5254,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5340,7 +5340,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5426,7 +5426,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5504,7 +5504,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 138 + src/gameobjects/TileSprite.js line 138 @@ -5591,7 +5591,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5678,7 +5678,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5765,7 +5765,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5854,7 +5854,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5943,7 +5943,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6037,7 +6037,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6125,7 +6125,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6216,7 +6216,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6294,7 +6294,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 109 + src/gameobjects/TileSprite.js line 109 @@ -6371,7 +6371,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 130 + src/gameobjects/TileSprite.js line 130 @@ -6448,7 +6448,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 101 + src/gameobjects/TileSprite.js line 101 @@ -6525,7 +6525,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 91 + src/gameobjects/TileSprite.js line 91 @@ -6602,7 +6602,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 96 + src/gameobjects/TileSprite.js line 96 @@ -6679,7 +6679,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 123 + src/gameobjects/TileSprite.js line 123 @@ -6772,7 +6772,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6870,7 +6870,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6957,7 +6957,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -7034,7 +7034,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 74 + src/gameobjects/TileSprite.js line 74 @@ -7133,7 +7133,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7219,7 +7219,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -7307,7 +7307,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7399,7 +7399,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7490,7 +7490,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7581,7 +7581,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -7672,7 +7672,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7763,7 +7763,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7849,7 +7849,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7941,7 +7941,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -8033,7 +8033,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -8122,7 +8122,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8259,7 +8259,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8450,7 +8450,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8793,7 +8793,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -9137,7 +9137,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9322,7 +9322,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 206 + src/gameobjects/TileSprite.js line 206 @@ -9442,7 +9442,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9609,7 +9609,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9773,7 +9773,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9957,7 +9957,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 241 + src/gameobjects/TileSprite.js line 241 @@ -10202,7 +10202,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -10362,7 +10362,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 525 + src/gameobjects/TileSprite.js line 525 @@ -10451,7 +10451,7 @@

Source:
- src/gameobjects/TileSprite.js line 614 + src/gameobjects/TileSprite.js line 614 @@ -10618,7 +10618,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10785,7 +10785,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10902,7 +10902,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -11069,7 +11069,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -11190,7 +11190,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -11475,7 +11475,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11571,7 +11571,7 @@

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

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11874,7 +11874,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12180,7 +12180,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12297,7 +12297,7 @@

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

Source:
- src/gameobjects/TileSprite.js line 178 + src/gameobjects/TileSprite.js line 178 @@ -12499,7 +12499,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12642,7 +12642,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12809,7 +12809,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -13000,7 +13000,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13165,7 +13165,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 273 + src/gameobjects/TileSprite.js line 273 @@ -13282,7 +13282,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13475,7 +13475,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13640,7 +13640,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -13760,7 +13760,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13951,7 +13951,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14095,7 +14095,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -14239,7 +14239,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14403,7 +14403,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 295 + src/gameobjects/TileSprite.js line 295 @@ -14511,7 +14511,7 @@

Source:
- src/gameobjects/TileSprite.js line 226 + src/gameobjects/TileSprite.js line 226 @@ -14702,7 +14702,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14845,7 +14845,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -15058,7 +15058,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -15179,7 +15179,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -15461,7 +15461,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -15530,9 +15530,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -15549,7 +15549,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -15578,7 +15578,7 @@
Returns:
- + diff --git a/docs/Phaser.Tilemap.html b/docs/Phaser.Tilemap.html index 823a78c71..af5163c3e 100644 --- a/docs/Phaser.Tilemap.html +++ b/docs/Phaser.Tilemap.html @@ -6,7 +6,7 @@ Phaser CE Class: Tilemap - + @@ -451,7 +451,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 28 + src/tilemap/Tilemap.js line 28 @@ -552,7 +552,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 176 + src/tilemap/Tilemap.js line 176 @@ -625,7 +625,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 194 + src/tilemap/Tilemap.js line 194 @@ -698,7 +698,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 188 + src/tilemap/Tilemap.js line 188 @@ -771,7 +771,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 200 + src/tilemap/Tilemap.js line 200 @@ -844,7 +844,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 182 + src/tilemap/Tilemap.js line 182 @@ -917,7 +917,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 206 + src/tilemap/Tilemap.js line 206 @@ -994,7 +994,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 125 + src/tilemap/Tilemap.js line 125 @@ -1071,7 +1071,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 130 + src/tilemap/Tilemap.js line 130 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 145 + src/tilemap/Tilemap.js line 145 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 150 + src/tilemap/Tilemap.js line 150 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 140 + src/tilemap/Tilemap.js line 140 @@ -1379,7 +1379,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 75 + src/tilemap/Tilemap.js line 75 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 33 + src/tilemap/Tilemap.js line 33 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 55 + src/tilemap/Tilemap.js line 55 @@ -1610,7 +1610,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 95 + src/tilemap/Tilemap.js line 95 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 110 + src/tilemap/Tilemap.js line 110 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 135 + src/tilemap/Tilemap.js line 135 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 38 + src/tilemap/Tilemap.js line 38 @@ -1924,7 +1924,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 1990 + src/tilemap/Tilemap.js line 1994 @@ -2001,7 +2001,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 100 + src/tilemap/Tilemap.js line 100 @@ -2078,7 +2078,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 120 + src/tilemap/Tilemap.js line 120 @@ -2155,7 +2155,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 70 + src/tilemap/Tilemap.js line 70 @@ -2232,7 +2232,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 85 + src/tilemap/Tilemap.js line 85 @@ -2309,7 +2309,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 65 + src/tilemap/Tilemap.js line 65 @@ -2386,7 +2386,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 115 + src/tilemap/Tilemap.js line 115 @@ -2463,7 +2463,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 105 + src/tilemap/Tilemap.js line 105 @@ -2540,7 +2540,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 60 + src/tilemap/Tilemap.js line 60 @@ -2617,7 +2617,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 80 + src/tilemap/Tilemap.js line 80 @@ -2694,7 +2694,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 50 + src/tilemap/Tilemap.js line 50 @@ -2771,7 +2771,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 90 + src/tilemap/Tilemap.js line 90 @@ -3159,7 +3159,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 253 + src/tilemap/Tilemap.js line 253 @@ -3317,7 +3317,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1116 + src/tilemap/Tilemap.js line 1116 @@ -3597,7 +3597,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1586 + src/tilemap/Tilemap.js line 1586 @@ -3927,7 +3927,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 210 + src/tilemap/Tilemap.js line 210 @@ -4257,7 +4257,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 649 + src/tilemap/Tilemap.js line 649 @@ -4796,7 +4796,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 379 + src/tilemap/Tilemap.js line 379 @@ -5149,7 +5149,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 480 + src/tilemap/Tilemap.js line 480 @@ -5425,7 +5425,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 574 + src/tilemap/Tilemap.js line 574 @@ -5534,7 +5534,7 @@

Source:
- src/tilemap/Tilemap.js line 1972 + src/tilemap/Tilemap.js line 1976 @@ -5618,7 +5618,7 @@

Source:
- src/tilemap/Tilemap.js line 1931 + src/tilemap/Tilemap.js line 1935 @@ -5657,7 +5657,8 @@

-

Fills the given area with the specified tile.

+

Fills the given area with the specified tile. +Only the tile indexes are modified.

@@ -5930,7 +5931,7 @@

Parameters:
Source:
- src/tilemap/Tilemap.js line 1888 + src/tilemap/Tilemap.js line 1891 @@ -6274,7 +6275,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1737 + src/tilemap/Tilemap.js line 1738 @@ -6408,7 +6409,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 780 + src/tilemap/Tilemap.js line 780 @@ -6590,7 +6591,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 731 + src/tilemap/Tilemap.js line 731 @@ -6754,7 +6755,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1053 + src/tilemap/Tilemap.js line 1053 @@ -6912,7 +6913,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 754 + src/tilemap/Tilemap.js line 754 @@ -7206,7 +7207,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1519 + src/tilemap/Tilemap.js line 1519 @@ -7413,7 +7414,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1186 + src/tilemap/Tilemap.js line 1186 @@ -7596,7 +7597,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1206 + src/tilemap/Tilemap.js line 1206 @@ -7779,7 +7780,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1226 + src/tilemap/Tilemap.js line 1226 @@ -7962,7 +7963,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1246 + src/tilemap/Tilemap.js line 1246 @@ -8096,7 +8097,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 767 + src/tilemap/Tilemap.js line 767 @@ -8466,7 +8467,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1560 + src/tilemap/Tilemap.js line 1560 @@ -8678,7 +8679,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1283 + src/tilemap/Tilemap.js line 1283 @@ -8950,7 +8951,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1648 + src/tilemap/Tilemap.js line 1648 @@ -9058,7 +9059,7 @@
Parameters:
-

The index of this tile to set or a Phaser.Tile object. If null the tile is removed from the map.

+

The index of this tile to set or a Phaser.Tile object. If a Tile object, all of its data will be copied. If null the tile is removed from the map.

@@ -9205,7 +9206,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1358 + src/tilemap/Tilemap.js line 1358 @@ -9544,7 +9545,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1429 + src/tilemap/Tilemap.js line 1429 @@ -9607,7 +9608,8 @@

-

Randomises a set of tiles in a given area.

+

Randomises a set of tiles in a given area. +Only the tile indexes are modified.

@@ -9848,7 +9850,7 @@

Parameters:
Source:
- src/tilemap/Tilemap.js line 1801 + src/tilemap/Tilemap.js line 1802 @@ -9932,7 +9934,7 @@

Source:
- src/tilemap/Tilemap.js line 1919 + src/tilemap/Tilemap.js line 1923 @@ -10148,7 +10150,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1305 + src/tilemap/Tilemap.js line 1305 @@ -10452,7 +10454,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1336 + src/tilemap/Tilemap.js line 1336 @@ -10820,7 +10822,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1766 + src/tilemap/Tilemap.js line 1767 @@ -11097,7 +11099,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1452 + src/tilemap/Tilemap.js line 1452 @@ -11401,7 +11403,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 874 + src/tilemap/Tilemap.js line 874 @@ -11713,7 +11715,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 916 + src/tilemap/Tilemap.js line 916 @@ -11988,7 +11990,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 953 + src/tilemap/Tilemap.js line 953 @@ -12257,7 +12259,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 987 + src/tilemap/Tilemap.js line 987 @@ -12397,7 +12399,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1266 + src/tilemap/Tilemap.js line 1266 @@ -12532,7 +12534,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1087 + src/tilemap/Tilemap.js line 1087 @@ -12786,7 +12788,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 793 + src/tilemap/Tilemap.js line 793 @@ -13133,7 +13135,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 840 + src/tilemap/Tilemap.js line 840 @@ -13291,7 +13293,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 237 + src/tilemap/Tilemap.js line 237 @@ -13330,7 +13332,8 @@

-

Shuffles a set of tiles in a given area. It will only randomise the tiles in that area, so if they're all the same nothing will appear to have changed!

+

Shuffles a set of tiles in a given area. It will only randomise the tiles in that area, so if they're all the same nothing will appear to have changed! +Only the tile indexes are modified.

@@ -13571,7 +13574,7 @@

Parameters:
Source:
- src/tilemap/Tilemap.js line 1846 + src/tilemap/Tilemap.js line 1848 @@ -13610,7 +13613,8 @@

-

Scans the given area for tiles with an index matching tileA and swaps them with tileB.

+

Scans the given area for tiles with an index matching tileA and swaps them with tileB. +Only the tile indexes are modified.

@@ -13915,7 +13919,7 @@

Parameters:
Source:
- src/tilemap/Tilemap.js line 1683 + src/tilemap/Tilemap.js line 1683 @@ -13958,9 +13962,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -13977,7 +13981,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -14006,7 +14010,7 @@
Parameters:
- + diff --git a/docs/Phaser.TilemapLayer.html b/docs/Phaser.TilemapLayer.html index d8baf3242..7e2a59e60 100644 --- a/docs/Phaser.TilemapLayer.html +++ b/docs/Phaser.TilemapLayer.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapLayer - + @@ -328,7 +328,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 23 + src/tilemap/TilemapLayer.js line 23 @@ -464,7 +464,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -560,7 +560,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -650,7 +650,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -741,7 +741,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -828,7 +828,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -925,7 +925,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1019,7 +1019,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 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1209,7 +1209,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1389,7 +1389,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1466,7 +1466,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 59 + src/tilemap/TilemapLayer.js line 59 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1640,7 +1640,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1732,7 +1732,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1818,7 +1818,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1904,7 +1904,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1992,7 +1992,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2088,7 +2088,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2170,7 +2170,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 110 + src/tilemap/TilemapLayer.js line 110 @@ -2455,7 +2455,7 @@
Properties:
Source:
- src/tilemap/TilemapLayer.js line 133 + src/tilemap/TilemapLayer.js line 133 @@ -2542,7 +2542,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2629,7 +2629,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2715,7 +2715,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2802,7 +2802,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2879,7 +2879,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 167 + src/tilemap/TilemapLayer.js line 167 @@ -2966,7 +2966,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -3055,7 +3055,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 115 + src/tilemap/TilemapLayer.js line 115 @@ -3141,7 +3141,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -3232,7 +3232,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -3330,7 +3330,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3421,7 +3421,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3512,7 +3512,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3599,7 +3599,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3685,7 +3685,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3779,7 +3779,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3865,7 +3865,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 600 + src/pixi/display/DisplayObjectContainer.js line 600 @@ -3961,7 +3961,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -4049,7 +4049,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -4136,7 +4136,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -4213,7 +4213,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 44 + src/tilemap/TilemapLayer.js line 44 @@ -4304,7 +4304,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -4397,7 +4397,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4483,7 +4483,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -4585,7 +4585,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4662,7 +4662,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 52 + src/tilemap/TilemapLayer.js line 52 @@ -4749,7 +4749,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4839,7 +4839,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4916,7 +4916,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 36 + src/tilemap/TilemapLayer.js line 36 @@ -5005,7 +5005,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -5099,7 +5099,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -5186,7 +5186,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -5274,7 +5274,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -5362,7 +5362,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -5448,7 +5448,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -5535,7 +5535,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -5624,7 +5624,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5713,7 +5713,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5795,7 +5795,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 83 + src/tilemap/TilemapLayer.js line 83 @@ -5882,7 +5882,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5970,7 +5970,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -6056,7 +6056,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -6142,7 +6142,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -6226,7 +6226,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 174 + src/tilemap/TilemapLayer.js line 174 @@ -6313,7 +6313,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -6400,7 +6400,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -6588,7 +6588,7 @@
Properties:
Source:
- src/tilemap/TilemapLayer.js line 98 + src/tilemap/TilemapLayer.js line 98 @@ -6675,7 +6675,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -6764,7 +6764,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6853,7 +6853,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6941,7 +6941,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -7029,7 +7029,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -7113,7 +7113,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 152 + src/tilemap/TilemapLayer.js line 152 @@ -7197,7 +7197,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 160 + src/tilemap/TilemapLayer.js line 160 @@ -7291,7 +7291,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -7379,7 +7379,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -7465,7 +7465,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -7580,7 +7580,7 @@
Properties:
Source:
- src/tilemap/TilemapLayer.js line 228 + src/tilemap/TilemapLayer.js line 228 @@ -7673,7 +7673,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -7766,7 +7766,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -7853,7 +7853,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -7939,7 +7939,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -8025,7 +8025,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -8114,7 +8114,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 77 + src/tilemap/TilemapLayer.js line 77 @@ -8213,7 +8213,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -8299,7 +8299,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 571 + src/pixi/display/DisplayObjectContainer.js line 571 @@ -8387,7 +8387,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -8479,7 +8479,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -8570,7 +8570,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -8661,7 +8661,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -8752,7 +8752,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -8843,7 +8843,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -8929,7 +8929,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -9016,7 +9016,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 622 + src/pixi/display/DisplayObject.js line 622 @@ -9103,7 +9103,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 644 + src/pixi/display/DisplayObject.js line 644 @@ -9192,7 +9192,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -9329,7 +9329,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -9520,7 +9520,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -9863,7 +9863,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -10207,7 +10207,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -10327,7 +10327,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -10494,7 +10494,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10720,7 +10720,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -10864,7 +10864,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -10977,7 +10977,7 @@

Source:
- src/tilemap/TilemapLayer.js line 357 + src/tilemap/TilemapLayer.js line 357 @@ -11062,7 +11062,7 @@

Source:
- src/tilemap/TilemapLayer.js line 259 + src/tilemap/TilemapLayer.js line 259 @@ -11307,7 +11307,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -11483,7 +11483,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -11650,7 +11650,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -11817,7 +11817,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -11925,7 +11925,7 @@

Source:
- src/tilemap/TilemapLayer.js line 420 + src/tilemap/TilemapLayer.js line 420 @@ -12038,7 +12038,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -12332,7 +12332,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 583 + src/tilemap/TilemapLayer.js line 583 @@ -12440,7 +12440,7 @@

Source:
- src/tilemap/TilemapLayer.js line 433 + src/tilemap/TilemapLayer.js line 433 @@ -12798,7 +12798,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 630 + src/tilemap/TilemapLayer.js line 630 @@ -12956,7 +12956,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 534 + src/tilemap/TilemapLayer.js line 534 @@ -13165,7 +13165,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 564 + src/tilemap/TilemapLayer.js line 564 @@ -13326,7 +13326,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 549 + src/tilemap/TilemapLayer.js line 549 @@ -13493,7 +13493,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -13614,7 +13614,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -13899,7 +13899,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -13995,7 +13995,7 @@

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

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -14298,7 +14298,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -14604,7 +14604,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -14717,7 +14717,7 @@

Source:
- src/tilemap/TilemapLayer.js line 290 + src/tilemap/TilemapLayer.js line 290 @@ -14806,7 +14806,7 @@

Source:
- src/tilemap/TilemapLayer.js line 279 + src/tilemap/TilemapLayer.js line 279 @@ -14899,7 +14899,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -15042,7 +15042,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -15209,7 +15209,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -15400,7 +15400,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -15484,7 +15484,7 @@

Source:
- src/tilemap/TilemapLayer.js line 1077 + src/tilemap/TilemapLayer.js line 1077 @@ -15723,7 +15723,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -15840,7 +15840,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -15925,7 +15925,7 @@

Source:
- src/tilemap/TilemapLayer.js line 725 + src/tilemap/TilemapLayer.js line 725 @@ -16087,7 +16087,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 370 + src/tilemap/TilemapLayer.js line 370 @@ -16280,7 +16280,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -16364,7 +16364,7 @@

Source:
- src/tilemap/TilemapLayer.js line 408 + src/tilemap/TilemapLayer.js line 408 @@ -16529,7 +16529,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -16649,7 +16649,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -16840,7 +16840,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -16984,7 +16984,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -17128,7 +17128,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -17344,7 +17344,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 744 + src/tilemap/TilemapLayer.js line 744 @@ -17581,7 +17581,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -17781,7 +17781,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -17948,7 +17948,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -18091,7 +18091,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -18304,7 +18304,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -18425,7 +18425,7 @@

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

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -18638,7 +18638,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -18801,7 +18801,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -18870,9 +18870,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -18889,7 +18889,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -18918,7 +18918,7 @@
Returns:
- + diff --git a/docs/Phaser.TilemapParser.html b/docs/Phaser.TilemapParser.html index 32febfdbc..b53a780f6 100644 --- a/docs/Phaser.TilemapParser.html +++ b/docs/Phaser.TilemapParser.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapParser - + @@ -180,7 +180,7 @@

Source:
- src/tilemap/TilemapParser.js line 13 + src/tilemap/TilemapParser.js line 13 @@ -290,7 +290,7 @@
Type:
Source:
- src/tilemap/TilemapParser.js line 26 + src/tilemap/TilemapParser.js line 26 @@ -368,7 +368,7 @@

Source:
- src/tilemap/TilemapParser.js line 135 + src/tilemap/TilemapParser.js line 135 @@ -738,7 +738,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 28 + src/tilemap/TilemapParser.js line 28 @@ -1028,7 +1028,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 77 + src/tilemap/TilemapParser.js line 77 @@ -1354,7 +1354,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 196 + src/tilemap/TilemapParser.js line 196 @@ -1512,7 +1512,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 328 + src/tilemap/TilemapParser.js line 328 @@ -1579,9 +1579,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1598,7 +1598,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1627,7 +1627,7 @@
Returns:
- + diff --git a/docs/Phaser.Tileset.html b/docs/Phaser.Tileset.html index 8b8e0c96c..7924f5af5 100644 --- a/docs/Phaser.Tileset.html +++ b/docs/Phaser.Tileset.html @@ -6,7 +6,7 @@ Phaser CE Class: Tileset - + @@ -483,7 +483,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 22 + src/tilemap/Tileset.js line 22 @@ -588,7 +588,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 101 + src/tilemap/Tileset.js line 101 @@ -666,7 +666,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 40 + src/tilemap/Tileset.js line 40 @@ -743,7 +743,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 85 + src/tilemap/Tileset.js line 85 @@ -820,7 +820,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 33 + src/tilemap/Tileset.js line 33 @@ -897,7 +897,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 77 + src/tilemap/Tileset.js line 77 @@ -1012,7 +1012,7 @@
Properties:
Source:
- src/tilemap/Tileset.js line 93 + src/tilemap/Tileset.js line 93 @@ -1089,7 +1089,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 54 + src/tilemap/Tileset.js line 54 @@ -1209,7 +1209,7 @@
Properties:
Source:
- src/tilemap/Tileset.js line 63 + src/tilemap/Tileset.js line 63 @@ -1287,7 +1287,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 71 + src/tilemap/Tileset.js line 71 @@ -1364,7 +1364,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 47 + src/tilemap/Tileset.js line 47 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 109 + src/tilemap/Tileset.js line 109 @@ -1569,7 +1569,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 155 + src/tilemap/Tileset.js line 155 @@ -1799,7 +1799,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 123 + src/tilemap/Tileset.js line 123 @@ -1933,7 +1933,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 172 + src/tilemap/Tileset.js line 172 @@ -2127,7 +2127,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 186 + src/tilemap/Tileset.js line 186 @@ -2170,9 +2170,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2189,7 +2189,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2218,7 +2218,7 @@
Parameters:
- + diff --git a/docs/Phaser.Time.html b/docs/Phaser.Time.html index 0bc357041..28d90509a 100644 --- a/docs/Phaser.Time.html +++ b/docs/Phaser.Time.html @@ -6,7 +6,7 @@ Phaser CE Class: Time - + @@ -248,7 +248,7 @@
Parameters:
Source:
- src/time/Time.js line 38 + src/time/Time.js line 38 @@ -353,7 +353,7 @@
Type:
Source:
- src/time/Time.js line 172 + src/time/Time.js line 172 @@ -439,7 +439,7 @@
Type:
Source:
- src/time/Time.js line 674 + src/time/Time.js line 674 @@ -516,7 +516,7 @@
Type:
Source:
- src/time/Time.js line 128 + src/time/Time.js line 128 @@ -597,7 +597,7 @@
Type:
Source:
- src/time/Time.js line 88 + src/time/Time.js line 88 @@ -684,7 +684,7 @@
Type:
Source:
- src/time/Time.js line 101 + src/time/Time.js line 101 @@ -761,7 +761,7 @@
Type:
Source:
- src/time/Time.js line 288 + src/time/Time.js line 288 @@ -839,7 +839,7 @@
Type:
Source:
- src/time/Time.js line 208 + src/time/Time.js line 208 @@ -918,7 +918,7 @@
Type:
Source:
- src/time/Time.js line 244 + src/time/Time.js line 244 @@ -997,7 +997,7 @@
Type:
Source:
- src/time/Time.js line 235 + src/time/Time.js line 235 @@ -1075,7 +1075,7 @@
Type:
Source:
- src/time/Time.js line 181 + src/time/Time.js line 181 @@ -1152,7 +1152,7 @@
Type:
Source:
- src/time/Time.js line 44 + src/time/Time.js line 44 @@ -1231,7 +1231,7 @@
Type:
Source:
- src/time/Time.js line 263 + src/time/Time.js line 263 @@ -1317,7 +1317,7 @@
Type:
Source:
- src/time/Time.js line 254 + src/time/Time.js line 254 @@ -1398,7 +1398,7 @@
Type:
Source:
- src/time/Time.js line 72 + src/time/Time.js line 72 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/time/Time.js line 270 + src/time/Time.js line 270 @@ -1557,7 +1557,7 @@
Type:
Source:
- src/time/Time.js line 114 + src/time/Time.js line 114 @@ -1634,7 +1634,7 @@
Type:
Source:
- src/time/Time.js line 121 + src/time/Time.js line 121 @@ -1711,7 +1711,7 @@
Type:
Source:
- src/time/Time.js line 58 + src/time/Time.js line 58 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/time/Time.js line 199 + src/time/Time.js line 199 @@ -1867,7 +1867,7 @@
Type:
Source:
- src/time/Time.js line 226 + src/time/Time.js line 226 @@ -1957,7 +1957,7 @@
Type:
Source:
- src/time/Time.js line 165 + src/time/Time.js line 165 @@ -2037,7 +2037,7 @@
Type:
Source:
- src/time/Time.js line 151 + src/time/Time.js line 151 @@ -2114,7 +2114,7 @@
Type:
Source:
- src/time/Time.js line 51 + src/time/Time.js line 51 @@ -2191,7 +2191,7 @@
Type:
Source:
- src/time/Time.js line 282 + src/time/Time.js line 282 @@ -2268,7 +2268,7 @@
Type:
Source:
- src/time/Time.js line 276 + src/time/Time.js line 276 @@ -2346,7 +2346,7 @@
Type:
Source:
- src/time/Time.js line 190 + src/time/Time.js line 190 @@ -2424,7 +2424,7 @@
Type:
Source:
- src/time/Time.js line 217 + src/time/Time.js line 217 @@ -2552,7 +2552,7 @@
Parameters:
Source:
- src/time/Time.js line 351 + src/time/Time.js line 351 @@ -2660,7 +2660,7 @@

Source:
- src/time/Time.js line 336 + src/time/Time.js line 336 @@ -2814,7 +2814,7 @@
Parameters:
Source:
- src/time/Time.js line 366 + src/time/Time.js line 366 @@ -2972,7 +2972,7 @@
Parameters:
Source:
- src/time/Time.js line 649 + src/time/Time.js line 649 @@ -3130,7 +3130,7 @@
Parameters:
Source:
- src/time/Time.js line 638 + src/time/Time.js line 638 @@ -3238,7 +3238,7 @@

Source:
- src/time/Time.js line 403 + src/time/Time.js line 403 @@ -3322,7 +3322,7 @@

Source:
- src/time/Time.js line 385 + src/time/Time.js line 385 @@ -3406,7 +3406,7 @@

Source:
- src/time/Time.js line 660 + src/time/Time.js line 660 @@ -3490,7 +3490,7 @@

Source:
- src/time/Time.js line 628 + src/time/Time.js line 628 @@ -3648,7 +3648,7 @@
Parameters:
Source:
- src/time/Time.js line 421 + src/time/Time.js line 421 @@ -3691,9 +3691,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3710,7 +3710,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3739,7 +3739,7 @@
Parameters:
- + diff --git a/docs/Phaser.Timer.html b/docs/Phaser.Timer.html index 4bf4167f5..959ad892d 100644 --- a/docs/Phaser.Timer.html +++ b/docs/Phaser.Timer.html @@ -6,7 +6,7 @@ Phaser CE Class: Timer - + @@ -290,7 +290,7 @@
Parameters:
Source:
- src/time/Timer.js line 21 + src/time/Timer.js line 21 @@ -395,7 +395,7 @@
Type:
Source:
- src/time/Timer.js line 175 + src/time/Timer.js line 175 @@ -472,7 +472,7 @@
Type:
Source:
- src/time/Timer.js line 161 + src/time/Timer.js line 161 @@ -549,7 +549,7 @@
Type:
Source:
- src/time/Timer.js line 182 + src/time/Timer.js line 182 @@ -626,7 +626,7 @@
Type:
Source:
- src/time/Timer.js line 168 + src/time/Timer.js line 168 @@ -703,7 +703,7 @@
Type:
Source:
- src/time/Timer.js line 45 + src/time/Timer.js line 45 @@ -780,7 +780,7 @@
Type:
Source:
- src/time/Timer.js line 680 + src/time/Timer.js line 680 @@ -857,7 +857,7 @@
Type:
Source:
- src/time/Timer.js line 58 + src/time/Timer.js line 58 @@ -934,7 +934,7 @@
Type:
Source:
- src/time/Timer.js line 63 + src/time/Timer.js line 63 @@ -1011,7 +1011,7 @@
Type:
Source:
- src/time/Timer.js line 52 + src/time/Timer.js line 52 @@ -1088,7 +1088,7 @@
Type:
Source:
- src/time/Timer.js line 29 + src/time/Timer.js line 29 @@ -1165,7 +1165,7 @@
Type:
Source:
- src/time/Timer.js line 702 + src/time/Timer.js line 702 @@ -1242,7 +1242,7 @@
Type:
Source:
- src/time/Timer.js line 715 + src/time/Timer.js line 715 @@ -1319,7 +1319,7 @@
Type:
Source:
- src/time/Timer.js line 667 + src/time/Timer.js line 667 @@ -1396,7 +1396,7 @@
Type:
Source:
- src/time/Timer.js line 79 + src/time/Timer.js line 79 @@ -1474,7 +1474,7 @@
Type:
Source:
- src/time/Timer.js line 72 + src/time/Timer.js line 72 @@ -1551,7 +1551,7 @@
Type:
Source:
- src/time/Timer.js line 91 + src/time/Timer.js line 91 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/time/Timer.js line 39 + src/time/Timer.js line 39 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/time/Timer.js line 737 + src/time/Timer.js line 737 @@ -1783,7 +1783,7 @@
Type:
Source:
- src/time/Timer.js line 84 + src/time/Timer.js line 84 @@ -2022,7 +2022,7 @@
Parameters:
Source:
- src/time/Timer.js line 228 + src/time/Timer.js line 228 @@ -2130,7 +2130,7 @@

Source:
- src/time/Timer.js line 554 + src/time/Timer.js line 554 @@ -2214,7 +2214,7 @@

Source:
- src/time/Timer.js line 392 + src/time/Timer.js line 392 @@ -2299,7 +2299,7 @@

Source:
- src/time/Timer.js line 648 + src/time/Timer.js line 648 @@ -2544,7 +2544,7 @@
Parameters:
Source:
- src/time/Timer.js line 272 + src/time/Timer.js line 272 @@ -2653,7 +2653,7 @@

Source:
- src/time/Timer.js line 354 + src/time/Timer.js line 354 @@ -2737,7 +2737,7 @@

Source:
- src/time/Timer.js line 512 + src/time/Timer.js line 512 @@ -2871,7 +2871,7 @@
Parameters:
Source:
- src/time/Timer.js line 334 + src/time/Timer.js line 334 @@ -2956,7 +2956,7 @@

Source:
- src/time/Timer.js line 633 + src/time/Timer.js line 633 @@ -3234,7 +3234,7 @@
Parameters:
Source:
- src/time/Timer.js line 249 + src/time/Timer.js line 249 @@ -3342,7 +3342,7 @@

Source:
- src/time/Timer.js line 592 + src/time/Timer.js line 592 @@ -3496,7 +3496,7 @@
Parameters:
Source:
- src/time/Timer.js line 293 + src/time/Timer.js line 293 @@ -3650,7 +3650,7 @@
Parameters:
Source:
- src/time/Timer.js line 316 + src/time/Timer.js line 316 @@ -3784,7 +3784,7 @@
Parameters:
Source:
- src/time/Timer.js line 415 + src/time/Timer.js line 415 @@ -3851,9 +3851,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3870,7 +3870,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3899,7 +3899,7 @@
Returns:
- + diff --git a/docs/Phaser.TimerEvent.html b/docs/Phaser.TimerEvent.html index 946bfa6bd..0d403386a 100644 --- a/docs/Phaser.TimerEvent.html +++ b/docs/Phaser.TimerEvent.html @@ -6,7 +6,7 @@ Phaser CE Class: TimerEvent - + @@ -402,7 +402,7 @@
Parameters:
Source:
- src/time/TimerEvent.js line 28 + src/time/TimerEvent.js line 28 @@ -545,7 +545,7 @@
Properties:
Source:
- src/time/TimerEvent.js line 70 + src/time/TimerEvent.js line 70 @@ -622,7 +622,7 @@
Type:
Source:
- src/time/TimerEvent.js line 60 + src/time/TimerEvent.js line 60 @@ -699,7 +699,7 @@
Type:
Source:
- src/time/TimerEvent.js line 65 + src/time/TimerEvent.js line 65 @@ -776,7 +776,7 @@
Type:
Source:
- src/time/TimerEvent.js line 40 + src/time/TimerEvent.js line 40 @@ -853,7 +853,7 @@
Type:
Source:
- src/time/TimerEvent.js line 55 + src/time/TimerEvent.js line 55 @@ -930,7 +930,7 @@
Type:
Source:
- src/time/TimerEvent.js line 76 + src/time/TimerEvent.js line 76 @@ -1007,7 +1007,7 @@
Type:
Source:
- src/time/TimerEvent.js line 50 + src/time/TimerEvent.js line 50 @@ -1084,7 +1084,7 @@
Type:
Source:
- src/time/TimerEvent.js line 45 + src/time/TimerEvent.js line 45 @@ -1161,7 +1161,7 @@
Type:
Source:
- src/time/TimerEvent.js line 35 + src/time/TimerEvent.js line 35 @@ -1194,9 +1194,9 @@
Type:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1213,7 +1213,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1242,7 +1242,7 @@
Type:
- + diff --git a/docs/Phaser.Touch.html b/docs/Phaser.Touch.html index d2df312d3..0734f7993 100644 --- a/docs/Phaser.Touch.html +++ b/docs/Phaser.Touch.html @@ -6,7 +6,7 @@ Phaser CE Class: Touch - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/input/Touch.js line 16 + src/input/Touch.js line 16 @@ -336,7 +336,7 @@
Type:
Source:
- src/input/Touch.js line 33 + src/input/Touch.js line 33 @@ -420,7 +420,7 @@
Type:
Source:
- src/input/Touch.js line 28 + src/input/Touch.js line 28 @@ -497,7 +497,7 @@
Type:
Source:
- src/input/Touch.js line 75 + src/input/Touch.js line 75 @@ -574,7 +574,7 @@
Type:
Source:
- src/input/Touch.js line 21 + src/input/Touch.js line 21 @@ -658,7 +658,7 @@
Type:
Source:
- src/input/Touch.js line 69 + src/input/Touch.js line 69 @@ -735,7 +735,7 @@
Type:
Source:
- src/input/Touch.js line 63 + src/input/Touch.js line 63 @@ -812,7 +812,7 @@
Type:
Source:
- src/input/Touch.js line 48 + src/input/Touch.js line 48 @@ -889,7 +889,7 @@
Type:
Source:
- src/input/Touch.js line 53 + src/input/Touch.js line 53 @@ -966,7 +966,7 @@
Type:
Source:
- src/input/Touch.js line 58 + src/input/Touch.js line 58 @@ -1043,7 +1043,7 @@
Type:
Source:
- src/input/Touch.js line 43 + src/input/Touch.js line 43 @@ -1120,7 +1120,7 @@
Type:
Source:
- src/input/Touch.js line 38 + src/input/Touch.js line 38 @@ -1198,7 +1198,7 @@

Source:
- src/input/Touch.js line 177 + src/input/Touch.js line 177 @@ -1333,7 +1333,7 @@
Parameters:
Source:
- src/input/Touch.js line 227 + src/input/Touch.js line 227 @@ -1467,7 +1467,7 @@
Parameters:
Source:
- src/input/Touch.js line 336 + src/input/Touch.js line 336 @@ -1602,7 +1602,7 @@
Parameters:
Source:
- src/input/Touch.js line 261 + src/input/Touch.js line 261 @@ -1737,7 +1737,7 @@
Parameters:
Source:
- src/input/Touch.js line 288 + src/input/Touch.js line 288 @@ -1871,7 +1871,7 @@
Parameters:
Source:
- src/input/Touch.js line 310 + src/input/Touch.js line 310 @@ -2005,7 +2005,7 @@
Parameters:
Source:
- src/input/Touch.js line 191 + src/input/Touch.js line 191 @@ -2089,7 +2089,7 @@

Source:
- src/input/Touch.js line 123 + src/input/Touch.js line 123 @@ -2173,7 +2173,7 @@

Source:
- src/input/Touch.js line 367 + src/input/Touch.js line 367 @@ -2216,9 +2216,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2235,7 +2235,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2264,7 +2264,7 @@

- + diff --git a/docs/Phaser.Tween.html b/docs/Phaser.Tween.html index 27d374d90..d1a94a5e4 100644 --- a/docs/Phaser.Tween.html +++ b/docs/Phaser.Tween.html @@ -6,7 +6,7 @@ Phaser CE Class: Tween - + @@ -282,7 +282,7 @@

Parameters:
Source:
- src/tween/Tween.js line 20 + src/tween/Tween.js line 20 @@ -387,7 +387,7 @@
Type:
Source:
- src/tween/Tween.js line 130 + src/tween/Tween.js line 130 @@ -464,7 +464,7 @@
Type:
Source:
- src/tween/Tween.js line 120 + src/tween/Tween.js line 120 @@ -547,7 +547,7 @@
Type:
Source:
- src/tween/Tween.js line 152 + src/tween/Tween.js line 152 @@ -624,7 +624,7 @@
Type:
Source:
- src/tween/Tween.js line 25 + src/tween/Tween.js line 25 @@ -701,7 +701,7 @@
Type:
Source:
- src/tween/Tween.js line 136 + src/tween/Tween.js line 136 @@ -778,7 +778,7 @@
Type:
Source:
- src/tween/Tween.js line 113 + src/tween/Tween.js line 113 @@ -855,7 +855,7 @@
Type:
Source:
- src/tween/Tween.js line 35 + src/tween/Tween.js line 35 @@ -934,7 +934,7 @@
Type:
Source:
- src/tween/Tween.js line 100 + src/tween/Tween.js line 100 @@ -1012,7 +1012,7 @@
Type:
Source:
- src/tween/Tween.js line 107 + src/tween/Tween.js line 107 @@ -1090,7 +1090,7 @@
Type:
Source:
- src/tween/Tween.js line 85 + src/tween/Tween.js line 85 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/tween/Tween.js line 92 + src/tween/Tween.js line 92 @@ -1246,7 +1246,7 @@
Type:
Source:
- src/tween/Tween.js line 77 + src/tween/Tween.js line 77 @@ -1323,7 +1323,7 @@
Type:
Source:
- src/tween/Tween.js line 70 + src/tween/Tween.js line 70 @@ -1400,7 +1400,7 @@
Type:
Source:
- src/tween/Tween.js line 125 + src/tween/Tween.js line 125 @@ -1477,7 +1477,7 @@
Type:
Source:
- src/tween/Tween.js line 63 + src/tween/Tween.js line 63 @@ -1556,7 +1556,7 @@
Type:
Source:
- src/tween/Tween.js line 49 + src/tween/Tween.js line 49 @@ -1633,7 +1633,7 @@
Type:
Source:
- src/tween/Tween.js line 30 + src/tween/Tween.js line 30 @@ -1710,7 +1710,7 @@
Type:
Source:
- src/tween/Tween.js line 40 + src/tween/Tween.js line 40 @@ -1795,7 +1795,7 @@
Type:
Source:
- src/tween/Tween.js line 58 + src/tween/Tween.js line 58 @@ -1872,7 +1872,7 @@
Type:
Source:
- src/tween/Tween.js line 938 + src/tween/Tween.js line 938 @@ -2010,7 +2010,7 @@
Parameters:
Source:
- src/tween/Tween.js line 188 + src/tween/Tween.js line 188 @@ -2162,7 +2162,7 @@
Parameters:
Source:
- src/tween/Tween.js line 603 + src/tween/Tween.js line 603 @@ -2379,7 +2379,7 @@
Parameters:
Source:
- src/tween/Tween.js line 444 + src/tween/Tween.js line 444 @@ -2599,7 +2599,7 @@
Parameters:
Source:
- src/tween/Tween.js line 541 + src/tween/Tween.js line 541 @@ -3019,7 +3019,7 @@
Parameters:
Source:
- src/tween/Tween.js line 264 + src/tween/Tween.js line 264 @@ -3238,7 +3238,7 @@
Parameters:
Source:
- src/tween/Tween.js line 885 + src/tween/Tween.js line 885 @@ -3493,7 +3493,7 @@
Parameters:
Source:
- src/tween/Tween.js line 563 + src/tween/Tween.js line 563 @@ -3679,7 +3679,7 @@
Parameters:
Source:
- src/tween/Tween.js line 637 + src/tween/Tween.js line 637 @@ -3865,7 +3865,7 @@
Parameters:
Source:
- src/tween/Tween.js line 663 + src/tween/Tween.js line 663 @@ -3973,7 +3973,7 @@

Source:
- src/tween/Tween.js line 688 + src/tween/Tween.js line 688 @@ -4206,7 +4206,7 @@
Parameters:
Source:
- src/tween/Tween.js line 461 + src/tween/Tween.js line 461 @@ -4385,7 +4385,7 @@
Parameters:
Source:
- src/tween/Tween.js line 585 + src/tween/Tween.js line 585 @@ -4602,7 +4602,7 @@
Parameters:
Source:
- src/tween/Tween.js line 484 + src/tween/Tween.js line 484 @@ -4710,7 +4710,7 @@

Source:
- src/tween/Tween.js line 720 + src/tween/Tween.js line 720 @@ -4868,7 +4868,7 @@
Parameters:
Source:
- src/tween/Tween.js line 311 + src/tween/Tween.js line 311 @@ -5049,7 +5049,7 @@
Parameters:
Source:
- src/tween/Tween.js line 375 + src/tween/Tween.js line 375 @@ -5469,7 +5469,7 @@
Parameters:
Source:
- src/tween/Tween.js line 217 + src/tween/Tween.js line 217 @@ -5627,7 +5627,7 @@
Parameters:
Source:
- src/tween/Tween.js line 762 + src/tween/Tween.js line 762 @@ -5882,7 +5882,7 @@
Parameters:
Source:
- src/tween/Tween.js line 411 + src/tween/Tween.js line 411 @@ -6140,7 +6140,7 @@
Parameters:
Source:
- src/tween/Tween.js line 501 + src/tween/Tween.js line 501 @@ -6357,7 +6357,7 @@
Parameters:
Source:
- src/tween/Tween.js line 524 + src/tween/Tween.js line 524 @@ -6424,9 +6424,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -6443,7 +6443,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -6472,7 +6472,7 @@
Returns:
- + diff --git a/docs/Phaser.TweenData.html b/docs/Phaser.TweenData.html index c6c6ea013..1aaee3fa4 100644 --- a/docs/Phaser.TweenData.html +++ b/docs/Phaser.TweenData.html @@ -6,7 +6,7 @@ Phaser CE Class: TweenData - + @@ -232,7 +232,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 16 + src/tween/TweenData.js line 16 @@ -333,7 +333,7 @@
Type:
Source:
- src/tween/TweenData.js line 180 + src/tween/TweenData.js line 180 @@ -406,7 +406,7 @@
Type:
Source:
- src/tween/TweenData.js line 174 + src/tween/TweenData.js line 174 @@ -479,7 +479,7 @@
Type:
Source:
- src/tween/TweenData.js line 162 + src/tween/TweenData.js line 162 @@ -552,7 +552,7 @@
Type:
Source:
- src/tween/TweenData.js line 168 + src/tween/TweenData.js line 168 @@ -629,7 +629,7 @@
Type:
Source:
- src/tween/TweenData.js line 114 + src/tween/TweenData.js line 114 @@ -706,7 +706,7 @@
Type:
Source:
- src/tween/TweenData.js line 119 + src/tween/TweenData.js line 119 @@ -790,7 +790,7 @@
Type:
Source:
- src/tween/TweenData.js line 56 + src/tween/TweenData.js line 56 @@ -874,7 +874,7 @@
Type:
Source:
- src/tween/TweenData.js line 130 + src/tween/TweenData.js line 130 @@ -951,7 +951,7 @@
Type:
Source:
- src/tween/TweenData.js line 26 + src/tween/TweenData.js line 26 @@ -1028,7 +1028,7 @@
Type:
Source:
- src/tween/TweenData.js line 108 + src/tween/TweenData.js line 108 @@ -1105,7 +1105,7 @@
Type:
Source:
- src/tween/TweenData.js line 91 + src/tween/TweenData.js line 91 @@ -1196,7 +1196,7 @@
Type:
Source:
- src/tween/TweenData.js line 142 + src/tween/TweenData.js line 142 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/tween/TweenData.js line 136 + src/tween/TweenData.js line 136 @@ -1357,7 +1357,7 @@
Type:
Source:
- src/tween/TweenData.js line 154 + src/tween/TweenData.js line 154 @@ -1434,7 +1434,7 @@
Type:
Source:
- src/tween/TweenData.js line 148 + src/tween/TweenData.js line 148 @@ -1511,7 +1511,7 @@
Type:
Source:
- src/tween/TweenData.js line 21 + src/tween/TweenData.js line 21 @@ -1588,7 +1588,7 @@
Type:
Source:
- src/tween/TweenData.js line 62 + src/tween/TweenData.js line 62 @@ -1665,7 +1665,7 @@
Type:
Source:
- src/tween/TweenData.js line 73 + src/tween/TweenData.js line 73 @@ -1742,7 +1742,7 @@
Type:
Source:
- src/tween/TweenData.js line 78 + src/tween/TweenData.js line 78 @@ -1819,7 +1819,7 @@
Type:
Source:
- src/tween/TweenData.js line 84 + src/tween/TweenData.js line 84 @@ -1896,7 +1896,7 @@
Type:
Source:
- src/tween/TweenData.js line 124 + src/tween/TweenData.js line 124 @@ -1973,7 +1973,7 @@
Type:
Source:
- src/tween/TweenData.js line 68 + src/tween/TweenData.js line 68 @@ -2050,7 +2050,7 @@
Type:
Source:
- src/tween/TweenData.js line 97 + src/tween/TweenData.js line 97 @@ -2127,7 +2127,7 @@
Type:
Source:
- src/tween/TweenData.js line 102 + src/tween/TweenData.js line 102 @@ -2472,7 +2472,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 212 + src/tween/TweenData.js line 212 @@ -2652,7 +2652,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 411 + src/tween/TweenData.js line 411 @@ -2760,7 +2760,7 @@

Source:
- src/tween/TweenData.js line 240 + src/tween/TweenData.js line 240 @@ -3135,7 +3135,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 184 + src/tween/TweenData.js line 184 @@ -3293,7 +3293,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 340 + src/tween/TweenData.js line 340 @@ -3360,9 +3360,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -3379,7 +3379,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -3408,7 +3408,7 @@
Returns:
- + diff --git a/docs/Phaser.TweenManager.html b/docs/Phaser.TweenManager.html index 0dc1a4038..c01bc18e2 100644 --- a/docs/Phaser.TweenManager.html +++ b/docs/Phaser.TweenManager.html @@ -6,7 +6,7 @@ Phaser CE Class: TweenManager - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 20 + src/tween/TweenManager.js line 20 @@ -345,7 +345,7 @@
Type:
Source:
- src/tween/TweenManager.js line 38 + src/tween/TweenManager.js line 38 @@ -422,7 +422,7 @@
Type:
Source:
- src/tween/TweenManager.js line 25 + src/tween/TweenManager.js line 25 @@ -550,7 +550,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 189 + src/tween/TweenManager.js line 189 @@ -708,7 +708,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 203 + src/tween/TweenManager.js line 203 @@ -816,7 +816,7 @@

Source:
- src/tween/TweenManager.js line 114 + src/tween/TweenManager.js line 114 @@ -1031,7 +1031,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 285 + src/tween/TweenManager.js line 285 @@ -1139,7 +1139,7 @@

Source:
- src/tween/TweenManager.js line 335 + src/tween/TweenManager.js line 335 @@ -1273,7 +1273,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 216 + src/tween/TweenManager.js line 216 @@ -1357,7 +1357,7 @@

Source:
- src/tween/TweenManager.js line 125 + src/tween/TweenManager.js line 125 @@ -1553,7 +1553,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 140 + src/tween/TweenManager.js line 140 @@ -1637,7 +1637,7 @@

Source:
- src/tween/TweenManager.js line 349 + src/tween/TweenManager.js line 349 @@ -1721,7 +1721,7 @@

Source:
- src/tween/TweenManager.js line 242 + src/tween/TweenManager.js line 242 @@ -1788,9 +1788,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1807,7 +1807,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1836,7 +1836,7 @@
Returns:
- + diff --git a/docs/Phaser.Utils.Debug.html b/docs/Phaser.Utils.Debug.html index 385de536c..501a782c2 100644 --- a/docs/Phaser.Utils.Debug.html +++ b/docs/Phaser.Utils.Debug.html @@ -6,7 +6,7 @@ Phaser CE Class: Debug - + @@ -237,7 +237,7 @@
Parameters:
Source:
- src/utils/Debug.js line 23 + src/utils/Debug.js line 23 @@ -281,6 +281,444 @@

Members

+
+

+ <static, constant> GEOM_AUTO : integer + +

+ +
+
+ + + +
Type:
+
    +
  • + +integer + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/utils/Debug.js line 136 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> GEOM_CIRCLE : integer + +

+ +
+
+ + + +
Type:
+
    +
  • + +integer + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/utils/Debug.js line 148 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> GEOM_ELLIPSE : integer + +

+ +
+
+ + + +
Type:
+
    +
  • + +integer + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/utils/Debug.js line 166 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> GEOM_LINE : integer + +

+ +
+
+ + + +
Type:
+
    +
  • + +integer + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/utils/Debug.js line 160 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> GEOM_POINT : integer + +

+ +
+
+ + + +
Type:
+
    +
  • + +integer + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/utils/Debug.js line 154 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> GEOM_RECTANGLE : integer + +

+ +
+
+ + + +
Type:
+
    +
  • + +integer + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/utils/Debug.js line 142 + + + + + + + +
+ + + +
+ + +

bmd : Phaser.BitmapData @@ -342,7 +780,7 @@

Type:
Source:
- src/utils/Debug.js line 38 + src/utils/Debug.js line 38 @@ -419,7 +857,7 @@
Type:
Source:
- src/utils/Debug.js line 43 + src/utils/Debug.js line 43 @@ -503,7 +941,7 @@
Type:
Source:
- src/utils/Debug.js line 60 + src/utils/Debug.js line 60 @@ -580,7 +1018,7 @@
Type:
Source:
- src/utils/Debug.js line 48 + src/utils/Debug.js line 48 @@ -664,7 +1102,7 @@
Type:
Source:
- src/utils/Debug.js line 103 + src/utils/Debug.js line 103 @@ -741,7 +1179,7 @@
Type:
Source:
- src/utils/Debug.js line 85 + src/utils/Debug.js line 85 @@ -818,7 +1256,7 @@
Type:
Source:
- src/utils/Debug.js line 91 + src/utils/Debug.js line 91 @@ -895,7 +1333,7 @@
Type:
Source:
- src/utils/Debug.js line 97 + src/utils/Debug.js line 97 @@ -972,7 +1410,7 @@
Type:
Source:
- src/utils/Debug.js line 109 + src/utils/Debug.js line 109 @@ -1056,7 +1494,7 @@
Type:
Source:
- src/utils/Debug.js line 54 + src/utils/Debug.js line 54 @@ -1133,7 +1571,7 @@
Type:
Source:
- src/utils/Debug.js line 28 + src/utils/Debug.js line 28 @@ -1210,7 +1648,7 @@
Type:
Source:
- src/utils/Debug.js line 116 + src/utils/Debug.js line 116 @@ -1294,7 +1732,7 @@
Type:
Source:
- src/utils/Debug.js line 66 + src/utils/Debug.js line 66 @@ -1378,7 +1816,7 @@
Type:
Source:
- src/utils/Debug.js line 72 + src/utils/Debug.js line 72 @@ -1462,7 +1900,7 @@
Type:
Source:
- src/utils/Debug.js line 78 + src/utils/Debug.js line 78 @@ -1539,7 +1977,7 @@
Type:
Source:
- src/utils/Debug.js line 33 + src/utils/Debug.js line 33 @@ -1765,7 +2203,7 @@
Parameters:
Source:
- src/utils/Debug.js line 861 + src/utils/Debug.js line 899 @@ -2027,7 +2465,7 @@
Parameters:
Source:
- src/utils/Debug.js line 895 + src/utils/Debug.js line 933 @@ -2111,7 +2549,7 @@

Source:
- src/utils/Debug.js line 134 + src/utils/Debug.js line 170 @@ -2302,7 +2740,7 @@
Parameters:
Source:
- src/utils/Debug.js line 942 + src/utils/Debug.js line 980 @@ -2388,7 +2826,7 @@

Source:
- src/utils/Debug.js line 924 + src/utils/Debug.js line 962 @@ -2616,7 +3054,7 @@
Parameters:
Source:
- src/utils/Debug.js line 352 + src/utils/Debug.js line 388 @@ -2878,7 +3316,7 @@
Parameters:
Source:
- src/utils/Debug.js line 381 + src/utils/Debug.js line 417 @@ -2962,7 +3400,7 @@

Source:
- src/utils/Debug.js line 1161 + src/utils/Debug.js line 1199 @@ -3110,7 +3548,7 @@
Parameters:
Source:
- src/utils/Debug.js line 958 + src/utils/Debug.js line 996 @@ -3342,12 +3780,12 @@
Parameters:
- 0 + Phaser.Utils.Debug.GEOM_AUTO -

Force rendering of a specific type. If 0 no type will be forced, otherwise 1 = Rectangle, 2 = Circle,3 = Point, 4 = Line and 5 = Ellipse.

+

Force rendering of a specific type: (0) GEOM_AUTO, 1 GEOM_RECTANGLE, (2) GEOM_CIRCLE, (3) GEOM_POINT, (4) GEOM_LINE, (5) GEOM_ELLIPSE.

@@ -3390,7 +3828,7 @@
Parameters:
Source:
- src/utils/Debug.js line 678 + src/utils/Debug.js line 714 @@ -3616,7 +4054,7 @@
Parameters:
Source:
- src/utils/Debug.js line 531 + src/utils/Debug.js line 567 @@ -3878,7 +4316,7 @@
Parameters:
Source:
- src/utils/Debug.js line 510 + src/utils/Debug.js line 546 @@ -3962,7 +4400,7 @@

Source:
- src/utils/Debug.js line 262 + src/utils/Debug.js line 298 @@ -4224,7 +4662,7 @@
Parameters:
Source:
- src/utils/Debug.js line 639 + src/utils/Debug.js line 675 @@ -4489,7 +4927,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1115 + src/utils/Debug.js line 1153 @@ -4715,7 +5153,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1064 + src/utils/Debug.js line 1102 @@ -4985,7 +5423,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1049 + src/utils/Debug.js line 1087 @@ -5206,7 +5644,7 @@
Parameters:
-

The 'size' to render the pixel at.

+

The width and height of the rendered pixel.

@@ -5249,7 +5687,7 @@
Parameters:
Source:
- src/utils/Debug.js line 658 + src/utils/Debug.js line 694 @@ -5559,7 +5997,7 @@
Parameters:
Source:
- src/utils/Debug.js line 429 + src/utils/Debug.js line 465 @@ -5643,7 +6081,7 @@

Source:
- src/utils/Debug.js line 179 + src/utils/Debug.js line 215 @@ -5801,7 +6239,7 @@
Parameters:
Source:
- src/utils/Debug.js line 821 + src/utils/Debug.js line 859 @@ -6032,7 +6470,7 @@
Parameters:
Source:
- src/utils/Debug.js line 758 + src/utils/Debug.js line 796 @@ -6266,7 +6704,7 @@
Parameters:
Source:
- src/utils/Debug.js line 991 + src/utils/Debug.js line 1029 @@ -6350,7 +6788,7 @@

Source:
- src/utils/Debug.js line 198 + src/utils/Debug.js line 234 @@ -6435,7 +6873,7 @@

Source:
- src/utils/Debug.js line 163 + src/utils/Debug.js line 199 @@ -6663,7 +7101,7 @@
Parameters:
Source:
- src/utils/Debug.js line 570 + src/utils/Debug.js line 606 @@ -6889,7 +7327,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1081 + src/utils/Debug.js line 1119 @@ -7115,7 +7553,7 @@
Parameters:
Source:
- src/utils/Debug.js line 290 + src/utils/Debug.js line 326 @@ -7377,7 +7815,7 @@
Parameters:
Source:
- src/utils/Debug.js line 321 + src/utils/Debug.js line 357 @@ -7608,7 +8046,7 @@
Parameters:
Source:
- src/utils/Debug.js line 551 + src/utils/Debug.js line 587 @@ -7873,7 +8311,7 @@
Parameters:
Source:
- src/utils/Debug.js line 613 + src/utils/Debug.js line 649 @@ -8135,7 +8573,7 @@
Parameters:
Source:
- src/utils/Debug.js line 590 + src/utils/Debug.js line 626 @@ -8400,7 +8838,7 @@
Parameters:
Source:
- src/utils/Debug.js line 489 + src/utils/Debug.js line 525 @@ -8674,7 +9112,7 @@
Parameters:
Source:
- src/utils/Debug.js line 217 + src/utils/Debug.js line 253 @@ -8758,7 +9196,7 @@

Source:
- src/utils/Debug.js line 250 + src/utils/Debug.js line 286 @@ -9034,7 +9472,7 @@
Parameters:
Source:
- src/utils/Debug.js line 790 + src/utils/Debug.js line 828 @@ -9296,7 +9734,7 @@
Parameters:
Source:
- src/utils/Debug.js line 410 + src/utils/Debug.js line 446 @@ -9339,9 +9777,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -9358,7 +9796,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -9387,7 +9825,7 @@
Parameters:
- + diff --git a/docs/Phaser.Utils.html b/docs/Phaser.Utils.html index 39b005c35..dce89733c 100644 --- a/docs/Phaser.Utils.html +++ b/docs/Phaser.Utils.html @@ -6,7 +6,7 @@ Phaser CE Class: Utils - + @@ -176,7 +176,7 @@

Source:
- src/utils/Utils.js line 11 + src/utils/Utils.js line 11 @@ -359,7 +359,7 @@
Parameters:
Source:
- src/utils/Utils.js line 359 + src/utils/Utils.js line 359 @@ -541,7 +541,7 @@
Parameters:
Source:
- src/utils/Utils.js line 27 + src/utils/Utils.js line 27 @@ -702,7 +702,7 @@
Parameters:
Source:
- src/utils/Utils.js line 323 + src/utils/Utils.js line 323 @@ -887,7 +887,7 @@
Parameters:
Source:
- src/utils/Utils.js line 491 + src/utils/Utils.js line 491 @@ -1140,7 +1140,7 @@
Parameters:
Source:
- src/utils/Utils.js line 439 + src/utils/Utils.js line 439 @@ -1419,7 +1419,7 @@
Parameters:
Source:
- src/utils/Utils.js line 262 + src/utils/Utils.js line 262 @@ -1604,7 +1604,7 @@
Parameters:
Source:
- src/utils/Utils.js line 219 + src/utils/Utils.js line 219 @@ -1763,7 +1763,7 @@
Parameters:
Source:
- src/utils/Utils.js line 13 + src/utils/Utils.js line 13 @@ -1950,7 +1950,7 @@
Parameters:
Source:
- src/utils/Utils.js line 55 + src/utils/Utils.js line 55 @@ -2157,7 +2157,7 @@
Parameters:
Source:
- src/utils/Utils.js line 82 + src/utils/Utils.js line 82 @@ -2317,7 +2317,7 @@
Parameters:
Source:
- src/utils/Utils.js line 192 + src/utils/Utils.js line 192 @@ -2499,7 +2499,7 @@
Parameters:
Source:
- src/utils/Utils.js line 207 + src/utils/Utils.js line 207 @@ -2566,9 +2566,9 @@
Returns:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -2585,7 +2585,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -2614,7 +2614,7 @@
Returns:
- + diff --git a/docs/Phaser.Video.html b/docs/Phaser.Video.html index 5d975fa2c..60264e5f0 100644 --- a/docs/Phaser.Video.html +++ b/docs/Phaser.Video.html @@ -6,7 +6,7 @@ Phaser CE Class: Video - + @@ -347,7 +347,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 38 + src/gameobjects/Video.js line 38 @@ -452,7 +452,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1202 + src/gameobjects/Video.js line 1202 @@ -529,7 +529,7 @@
Type:
Source:
- src/gameobjects/Video.js line 75 + src/gameobjects/Video.js line 75 @@ -606,7 +606,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1222 + src/gameobjects/Video.js line 1222 @@ -683,7 +683,7 @@
Type:
Source:
- src/gameobjects/Video.js line 46 + src/gameobjects/Video.js line 46 @@ -760,7 +760,7 @@
Type:
Source:
- src/gameobjects/Video.js line 64 + src/gameobjects/Video.js line 64 @@ -837,7 +837,7 @@
Type:
Source:
- src/gameobjects/Video.js line 153 + src/gameobjects/Video.js line 153 @@ -921,7 +921,7 @@
Type:
Source:
- src/gameobjects/Video.js line 52 + src/gameobjects/Video.js line 52 @@ -1000,7 +1000,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1395 + src/gameobjects/Video.js line 1395 @@ -1077,7 +1077,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1252 + src/gameobjects/Video.js line 1252 @@ -1154,7 +1154,7 @@
Type:
Source:
- src/gameobjects/Video.js line 101 + src/gameobjects/Video.js line 101 @@ -1231,7 +1231,7 @@
Type:
Source:
- src/gameobjects/Video.js line 91 + src/gameobjects/Video.js line 91 @@ -1308,7 +1308,7 @@
Type:
Source:
- src/gameobjects/Video.js line 96 + src/gameobjects/Video.js line 96 @@ -1385,7 +1385,7 @@
Type:
Source:
- src/gameobjects/Video.js line 106 + src/gameobjects/Video.js line 106 @@ -1462,7 +1462,7 @@
Type:
Source:
- src/gameobjects/Video.js line 86 + src/gameobjects/Video.js line 86 @@ -1540,7 +1540,7 @@
Type:
Source:
- src/gameobjects/Video.js line 113 + src/gameobjects/Video.js line 113 @@ -1617,7 +1617,7 @@
Type:
Source:
- src/gameobjects/Video.js line 119 + src/gameobjects/Video.js line 119 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1292 + src/gameobjects/Video.js line 1292 @@ -1772,7 +1772,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1372 + src/gameobjects/Video.js line 1372 @@ -1849,7 +1849,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1426 + src/gameobjects/Video.js line 1426 @@ -1933,7 +1933,7 @@
Type:
Source:
- src/gameobjects/Video.js line 126 + src/gameobjects/Video.js line 126 @@ -2010,7 +2010,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1237 + src/gameobjects/Video.js line 1237 @@ -2087,7 +2087,7 @@
Type:
Source:
- src/gameobjects/Video.js line 168 + src/gameobjects/Video.js line 168 @@ -2171,7 +2171,7 @@
Type:
Source:
- src/gameobjects/Video.js line 174 + src/gameobjects/Video.js line 174 @@ -2257,7 +2257,7 @@
Type:
Source:
- src/gameobjects/Video.js line 162 + src/gameobjects/Video.js line 162 @@ -2336,7 +2336,7 @@
Type:
Source:
- src/gameobjects/Video.js line 308 + src/gameobjects/Video.js line 308 @@ -2413,7 +2413,7 @@
Type:
Source:
- src/gameobjects/Video.js line 283 + src/gameobjects/Video.js line 283 @@ -2490,7 +2490,7 @@
Type:
Source:
- src/gameobjects/Video.js line 289 + src/gameobjects/Video.js line 289 @@ -2574,7 +2574,7 @@
Type:
Source:
- src/gameobjects/Video.js line 132 + src/gameobjects/Video.js line 132 @@ -2651,7 +2651,7 @@
Type:
Source:
- src/gameobjects/Video.js line 81 + src/gameobjects/Video.js line 81 @@ -2728,7 +2728,7 @@
Type:
Source:
- src/gameobjects/Video.js line 70 + src/gameobjects/Video.js line 70 @@ -2805,7 +2805,7 @@
Type:
Source:
- src/gameobjects/Video.js line 143 + src/gameobjects/Video.js line 143 @@ -2882,7 +2882,7 @@
Type:
Source:
- src/gameobjects/Video.js line 148 + src/gameobjects/Video.js line 148 @@ -2959,7 +2959,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1340 + src/gameobjects/Video.js line 1340 @@ -3036,7 +3036,7 @@
Type:
Source:
- src/gameobjects/Video.js line 58 + src/gameobjects/Video.js line 58 @@ -3174,7 +3174,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 830 + src/gameobjects/Video.js line 830 @@ -3552,7 +3552,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 859 + src/gameobjects/Video.js line 859 @@ -3776,7 +3776,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 980 + src/gameobjects/Video.js line 980 @@ -3885,7 +3885,7 @@

Source:
- src/gameobjects/Video.js line 643 + src/gameobjects/Video.js line 643 @@ -4043,7 +4043,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 331 + src/gameobjects/Video.js line 331 @@ -4202,7 +4202,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 527 + src/gameobjects/Video.js line 527 @@ -4416,7 +4416,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 550 + src/gameobjects/Video.js line 550 @@ -4525,7 +4525,7 @@

Source:
- src/gameobjects/Video.js line 1176 + src/gameobjects/Video.js line 1176 @@ -4761,7 +4761,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 1110 + src/gameobjects/Video.js line 1110 @@ -4980,7 +4980,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 655 + src/gameobjects/Video.js line 655 @@ -5089,7 +5089,7 @@

Source:
- src/gameobjects/Video.js line 1146 + src/gameobjects/Video.js line 1146 @@ -5175,7 +5175,7 @@

Source:
- src/gameobjects/Video.js line 885 + src/gameobjects/Video.js line 885 @@ -5260,7 +5260,7 @@

Source:
- src/gameobjects/Video.js line 1063 + src/gameobjects/Video.js line 1063 @@ -5497,7 +5497,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 357 + src/gameobjects/Video.js line 357 @@ -5610,7 +5610,7 @@

Source:
- src/gameobjects/Video.js line 750 + src/gameobjects/Video.js line 750 @@ -5720,7 +5720,7 @@

Source:
- src/gameobjects/Video.js line 1076 + src/gameobjects/Video.js line 1076 @@ -5935,7 +5935,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 592 + src/gameobjects/Video.js line 592 @@ -5978,9 +5978,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -5997,7 +5997,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -6026,7 +6026,7 @@
Parameters:
- + diff --git a/docs/Phaser.Weapon.html b/docs/Phaser.Weapon.html index 66c43eb2e..e67268fde 100644 --- a/docs/Phaser.Weapon.html +++ b/docs/Phaser.Weapon.html @@ -6,7 +6,7 @@ Phaser CE Class: Weapon - + @@ -268,7 +268,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 41 + src/plugins/weapon/WeaponPlugin.js line 41 @@ -373,7 +373,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 476 + src/plugins/weapon/WeaponPlugin.js line 476 @@ -451,7 +451,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 462 + src/plugins/weapon/WeaponPlugin.js line 462 @@ -528,7 +528,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 454 + src/plugins/weapon/WeaponPlugin.js line 454 @@ -605,7 +605,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 447 + src/plugins/weapon/WeaponPlugin.js line 447 @@ -682,7 +682,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 490 + src/plugins/weapon/WeaponPlugin.js line 490 @@ -759,7 +759,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 469 + src/plugins/weapon/WeaponPlugin.js line 469 @@ -836,7 +836,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 483 + src/plugins/weapon/WeaponPlugin.js line 483 @@ -913,7 +913,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 391 + src/plugins/weapon/WeaponPlugin.js line 391 @@ -991,7 +991,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 57 + src/plugins/weapon/WeaponPlugin.js line 57 @@ -1069,7 +1069,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 65 + src/plugins/weapon/WeaponPlugin.js line 65 @@ -1149,7 +1149,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 297 + src/plugins/weapon/WeaponPlugin.js line 297 @@ -1229,7 +1229,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 177 + src/plugins/weapon/WeaponPlugin.js line 177 @@ -1309,7 +1309,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 187 + src/plugins/weapon/WeaponPlugin.js line 187 @@ -1387,7 +1387,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 131 + src/plugins/weapon/WeaponPlugin.js line 131 @@ -1466,7 +1466,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1313 + src/plugins/weapon/WeaponPlugin.js line 1313 @@ -1543,7 +1543,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1405 + src/plugins/weapon/WeaponPlugin.js line 1405 @@ -1624,7 +1624,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 252 + src/plugins/weapon/WeaponPlugin.js line 252 @@ -1705,7 +1705,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 150 + src/plugins/weapon/WeaponPlugin.js line 150 @@ -1783,7 +1783,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 139 + src/plugins/weapon/WeaponPlugin.js line 139 @@ -1860,7 +1860,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 313 + src/plugins/weapon/WeaponPlugin.js line 313 @@ -1938,7 +1938,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 227 + src/plugins/weapon/WeaponPlugin.js line 227 @@ -2015,7 +2015,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 123 + src/plugins/weapon/WeaponPlugin.js line 123 @@ -2093,7 +2093,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 244 + src/plugins/weapon/WeaponPlugin.js line 244 @@ -2171,7 +2171,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 220 + src/plugins/weapon/WeaponPlugin.js line 220 @@ -2274,7 +2274,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1342 + src/plugins/weapon/WeaponPlugin.js line 1342 @@ -2353,7 +2353,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 212 + src/plugins/weapon/WeaponPlugin.js line 212 @@ -2432,7 +2432,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 236 + src/plugins/weapon/WeaponPlugin.js line 236 @@ -2509,7 +2509,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 49 + src/plugins/weapon/WeaponPlugin.js line 49 @@ -2593,7 +2593,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 194 + src/plugins/weapon/WeaponPlugin.js line 194 @@ -2672,7 +2672,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 203 + src/plugins/weapon/WeaponPlugin.js line 203 @@ -2750,7 +2750,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 158 + src/plugins/weapon/WeaponPlugin.js line 158 @@ -2829,7 +2829,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 167 + src/plugins/weapon/WeaponPlugin.js line 167 @@ -2907,7 +2907,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 116 + src/plugins/weapon/WeaponPlugin.js line 116 @@ -2986,7 +2986,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 108 + src/plugins/weapon/WeaponPlugin.js line 108 @@ -3065,7 +3065,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 83 + src/plugins/weapon/WeaponPlugin.js line 83 @@ -3149,7 +3149,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 90 + src/plugins/weapon/WeaponPlugin.js line 90 @@ -3229,7 +3229,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 100 + src/plugins/weapon/WeaponPlugin.js line 100 @@ -3310,7 +3310,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 384 + src/plugins/weapon/WeaponPlugin.js line 384 @@ -3389,7 +3389,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 337 + src/plugins/weapon/WeaponPlugin.js line 337 @@ -3469,7 +3469,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 356 + src/plugins/weapon/WeaponPlugin.js line 356 @@ -3548,7 +3548,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 346 + src/plugins/weapon/WeaponPlugin.js line 346 @@ -3627,7 +3627,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 74 + src/plugins/weapon/WeaponPlugin.js line 74 @@ -3705,7 +3705,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 372 + src/plugins/weapon/WeaponPlugin.js line 372 @@ -3786,7 +3786,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 364 + src/plugins/weapon/WeaponPlugin.js line 364 @@ -3866,7 +3866,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 411 + src/plugins/weapon/WeaponPlugin.js line 411 @@ -3945,7 +3945,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 401 + src/plugins/weapon/WeaponPlugin.js line 401 @@ -4023,7 +4023,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1430 + src/plugins/weapon/WeaponPlugin.js line 1430 @@ -4101,7 +4101,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1452 + src/plugins/weapon/WeaponPlugin.js line 1452 @@ -4411,7 +4411,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1250 + src/plugins/weapon/WeaponPlugin.js line 1250 @@ -4718,7 +4718,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 492 + src/plugins/weapon/WeaponPlugin.js line 492 @@ -4977,7 +4977,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1288 + src/plugins/weapon/WeaponPlugin.js line 1288 @@ -5062,7 +5062,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 643 + src/plugins/weapon/WeaponPlugin.js line 643 @@ -5390,7 +5390,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 855 + src/plugins/weapon/WeaponPlugin.js line 855 @@ -5561,7 +5561,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1130 + src/plugins/weapon/WeaponPlugin.js line 1130 @@ -5732,7 +5732,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1146 + src/plugins/weapon/WeaponPlugin.js line 1146 @@ -5937,7 +5937,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1160 + src/plugins/weapon/WeaponPlugin.js line 1160 @@ -6157,7 +6157,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 774 + src/plugins/weapon/WeaponPlugin.js line 774 @@ -6384,7 +6384,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 825 + src/plugins/weapon/WeaponPlugin.js line 825 @@ -6637,7 +6637,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 554 + src/plugins/weapon/WeaponPlugin.js line 554 @@ -6746,7 +6746,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 605 + src/plugins/weapon/WeaponPlugin.js line 605 @@ -6856,7 +6856,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 573 + src/plugins/weapon/WeaponPlugin.js line 573 @@ -6964,7 +6964,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 690 + src/plugins/weapon/WeaponPlugin.js line 690 @@ -7111,7 +7111,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 622 + src/plugins/weapon/WeaponPlugin.js line 622 @@ -7221,7 +7221,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 589 + src/plugins/weapon/WeaponPlugin.js line 589 @@ -7498,7 +7498,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1175 + src/plugins/weapon/WeaponPlugin.js line 1175 @@ -7793,7 +7793,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1216 + src/plugins/weapon/WeaponPlugin.js line 1216 @@ -8054,7 +8054,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 742 + src/plugins/weapon/WeaponPlugin.js line 742 @@ -8356,7 +8356,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 709 + src/plugins/weapon/WeaponPlugin.js line 709 @@ -8464,7 +8464,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 662 + src/plugins/weapon/WeaponPlugin.js line 662 @@ -8507,9 +8507,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -8526,7 +8526,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -8555,7 +8555,7 @@

- + diff --git a/docs/Phaser.World.html b/docs/Phaser.World.html index 25cd7392b..523539fe4 100644 --- a/docs/Phaser.World.html +++ b/docs/Phaser.World.html @@ -6,7 +6,7 @@ Phaser CE Class: World - + @@ -233,7 +233,7 @@

Parameters:
Source:
- src/core/World.js line 19 + src/core/World.js line 19 @@ -349,7 +349,7 @@
Type:
Source:
- src/core/World.js line 41 + src/core/World.js line 41 @@ -464,7 +464,7 @@
Properties:
Source:
- src/core/World.js line 51 + src/core/World.js line 51 @@ -579,7 +579,7 @@
Properties:
Source:
- src/core/World.js line 46 + src/core/World.js line 46 @@ -672,7 +672,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -758,7 +758,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -847,7 +847,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -935,7 +935,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -1015,7 +1015,7 @@
Type:
Source:
- src/core/World.js line 30 + src/core/World.js line 30 @@ -1108,7 +1108,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 797 + src/pixi/display/DisplayObject.js line 797 @@ -1185,7 +1185,7 @@
Type:
Source:
- src/core/World.js line 35 + src/core/World.js line 35 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1354,7 +1354,7 @@
Type:
Source:
- src/core/World.js line 311 + src/core/World.js line 311 @@ -1436,7 +1436,7 @@
Type:
Source:
- src/core/World.js line 324 + src/core/World.js line 324 @@ -1522,7 +1522,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1616,7 +1616,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1703,7 +1703,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1877,7 +1877,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1964,7 +1964,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -2057,7 +2057,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2143,7 +2143,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2234,7 +2234,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 744 + src/pixi/display/DisplayObject.js line 744 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2408,7 +2408,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2498,7 +2498,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2580,7 +2580,7 @@
Type:
Source:
- src/core/World.js line 286 + src/core/World.js line 286 @@ -2676,7 +2676,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2764,7 +2764,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2850,7 +2850,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2938,7 +2938,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -3026,7 +3026,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -3112,7 +3112,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -3201,7 +3201,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 709 + src/pixi/display/DisplayObject.js line 709 @@ -3287,7 +3287,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3377,7 +3377,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3467,7 +3467,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3557,7 +3557,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3648,7 +3648,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3734,7 +3734,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3823,7 +3823,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -3913,7 +3913,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -4000,7 +4000,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -4093,7 +4093,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -4179,7 +4179,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -4266,7 +4266,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4354,7 +4354,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4431,7 +4431,7 @@
Type:
Source:
- src/core/World.js line 337 + src/core/World.js line 337 @@ -4508,7 +4508,7 @@
Type:
Source:
- src/core/World.js line 359 + src/core/World.js line 359 @@ -4595,7 +4595,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4683,7 +4683,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4771,7 +4771,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4860,7 +4860,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4948,7 +4948,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -5034,7 +5034,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -5120,7 +5120,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -5206,7 +5206,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -5292,7 +5292,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -5374,7 +5374,7 @@
Type:
Source:
- src/core/World.js line 261 + src/core/World.js line 261 @@ -5466,7 +5466,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5557,7 +5557,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5648,7 +5648,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5739,7 +5739,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5830,7 +5830,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -5916,7 +5916,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6009,7 +6009,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -6102,7 +6102,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -6189,7 +6189,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6427,7 +6427,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6705,7 +6705,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6947,7 +6947,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -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 @@ -7536,7 +7536,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7707,7 +7707,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -8102,7 +8102,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -8445,7 +8445,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8789,7 +8789,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8980,7 +8980,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -9064,7 +9064,7 @@

Source:
- src/core/World.js line 60 + src/core/World.js line 60 @@ -9207,7 +9207,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -9470,7 +9470,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9690,7 +9690,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9881,7 +9881,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -10197,7 +10197,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -10499,7 +10499,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10796,7 +10796,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10963,7 +10963,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -11150,7 +11150,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -11267,7 +11267,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -11384,7 +11384,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11778,7 +11778,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -12185,7 +12185,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -12398,7 +12398,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -12565,7 +12565,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12769,7 +12769,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12985,7 +12985,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -13189,7 +13189,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -13493,7 +13493,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13731,7 +13731,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13969,7 +13969,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -14207,7 +14207,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -14452,7 +14452,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 444 + src/pixi/display/DisplayObject.js line 444 @@ -14760,7 +14760,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14929,7 +14929,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -15050,7 +15050,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -15232,7 +15232,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -15401,7 +15401,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -15568,7 +15568,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15735,7 +15735,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15986,7 +15986,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -16177,7 +16177,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -16536,7 +16536,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16895,7 +16895,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -17293,7 +17293,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -17544,7 +17544,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17711,7 +17711,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17828,7 +17828,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -18055,7 +18055,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -18283,7 +18283,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -18401,7 +18401,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -18593,7 +18593,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18980,7 +18980,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -19097,7 +19097,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -19190,7 +19190,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -19389,7 +19389,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -19556,7 +19556,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -19723,7 +19723,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -19963,7 +19963,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -20057,7 +20057,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -20174,7 +20174,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -20267,7 +20267,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -20361,7 +20361,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -20626,7 +20626,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20896,7 +20896,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -21173,7 +21173,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -21316,7 +21316,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -21483,7 +21483,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -21674,7 +21674,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21818,7 +21818,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -22011,7 +22011,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -22365,7 +22365,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -22671,7 +22671,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -22859,7 +22859,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -23043,7 +23043,7 @@
Parameters:
Source:
- src/core/World.js line 125 + src/core/World.js line 125 @@ -23137,7 +23137,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -23230,7 +23230,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -23323,7 +23323,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -23526,7 +23526,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -23669,7 +23669,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -24085,7 +24085,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -24467,7 +24467,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -24825,7 +24825,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -25032,7 +25032,7 @@
Parameters:
Source:
- src/core/World.js line 94 + src/core/World.js line 94 @@ -25199,7 +25199,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -25518,7 +25518,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -25636,7 +25636,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -25720,7 +25720,7 @@

Source:
- src/core/World.js line 161 + src/core/World.js line 161 @@ -25927,7 +25927,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -26013,7 +26013,7 @@

Source:
- src/core/World.js line 76 + src/core/World.js line 76 @@ -26229,7 +26229,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -26397,7 +26397,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -26564,7 +26564,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -26707,7 +26707,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 486 + src/pixi/display/DisplayObject.js line 486 @@ -26920,7 +26920,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 501 + src/pixi/display/DisplayObject.js line 501 @@ -27040,7 +27040,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -27133,7 +27133,7 @@

Source:
- src/pixi/display/DisplayObject.js line 472 + src/pixi/display/DisplayObject.js line 472 @@ -27322,7 +27322,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 292 + src/pixi/display/DisplayObject.js line 292 @@ -27442,7 +27442,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -27765,7 +27765,7 @@
Parameters:
Source:
- src/core/World.js line 173 + src/core/World.js line 173 @@ -28111,7 +28111,7 @@
Parameters:
Source:
- src/core/World.js line 246 + src/core/World.js line 246 @@ -28302,7 +28302,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -28345,9 +28345,9 @@
Parameters:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -28364,7 +28364,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -28393,7 +28393,7 @@
Parameters:
- + diff --git a/docs/Phaser.html b/docs/Phaser.html index dc15094e1..cafd40ee1 100644 --- a/docs/Phaser.html +++ b/docs/Phaser.html @@ -6,7 +6,7 @@ Phaser CE Namespace: Phaser - + @@ -157,7 +157,7 @@

Source:
- src/Phaser.js line 7 + src/Phaser.js line 7 @@ -555,7 +555,7 @@
Type:
Source:
- src/Phaser.js line 341 + src/Phaser.js line 341 @@ -632,7 +632,7 @@
Type:
Source:
- src/Phaser.js line 348 + src/Phaser.js line 348 @@ -709,7 +709,7 @@
Type:
Source:
- src/Phaser.js line 362 + src/Phaser.js line 362 @@ -786,7 +786,7 @@
Type:
Source:
- src/Phaser.js line 369 + src/Phaser.js line 369 @@ -863,7 +863,7 @@
Type:
Source:
- src/Phaser.js line 355 + src/Phaser.js line 355 @@ -940,7 +940,7 @@
Type:
Source:
- src/Phaser.js line 376 + src/Phaser.js line 376 @@ -1017,7 +1017,7 @@
Type:
Source:
- src/Phaser.js line 383 + src/Phaser.js line 383 @@ -1094,7 +1094,7 @@
Type:
Source:
- src/Phaser.js line 334 + src/Phaser.js line 334 @@ -1171,7 +1171,7 @@
Type:
Source:
- src/Phaser.js line 26 + src/Phaser.js line 26 @@ -1248,7 +1248,7 @@
Type:
Source:
- src/Phaser.js line 187 + src/Phaser.js line 187 @@ -1325,7 +1325,7 @@
Type:
Source:
- src/Phaser.js line 138 + src/Phaser.js line 138 @@ -1840,7 +1840,7 @@
Properties:
Source:
- src/Phaser.js line 481 + src/Phaser.js line 481 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/Phaser.js line 467 + src/Phaser.js line 467 @@ -1994,7 +1994,7 @@
Type:
Source:
- src/Phaser.js line 460 + src/Phaser.js line 460 @@ -2071,7 +2071,7 @@
Type:
Source:
- src/Phaser.js line 474 + src/Phaser.js line 474 @@ -2148,7 +2148,7 @@
Type:
Source:
- src/Phaser.js line 103 + src/Phaser.js line 103 @@ -2225,7 +2225,7 @@
Type:
Source:
- src/Phaser.js line 33 + src/Phaser.js line 33 @@ -2302,7 +2302,7 @@
Type:
Source:
- src/Phaser.js line 194 + src/Phaser.js line 194 @@ -2379,7 +2379,7 @@
Type:
Source:
- src/Phaser.js line 432 + src/Phaser.js line 432 @@ -2456,7 +2456,7 @@
Type:
Source:
- src/Phaser.js line 243 + src/Phaser.js line 243 @@ -2533,7 +2533,7 @@
Type:
Source:
- src/Phaser.js line 285 + src/Phaser.js line 285 @@ -2610,7 +2610,7 @@
Type:
Source:
- src/Phaser.js line 89 + src/Phaser.js line 89 @@ -2687,7 +2687,7 @@
Type:
Source:
- src/Phaser.js line 208 + src/Phaser.js line 208 @@ -2764,7 +2764,7 @@
Type:
Source:
- src/Phaser.js line 173 + src/Phaser.js line 173 @@ -2841,7 +2841,7 @@
Type:
Source:
- src/Phaser.js line 19 + src/Phaser.js line 19 @@ -2918,7 +2918,7 @@
Type:
Source:
- src/Phaser.js line 117 + src/Phaser.js line 117 @@ -2995,7 +2995,7 @@
Type:
Source:
- src/Phaser.js line 145 + src/Phaser.js line 145 @@ -3072,7 +3072,7 @@
Type:
Source:
- src/Phaser.js line 47 + src/Phaser.js line 47 @@ -3149,7 +3149,7 @@
Type:
Source:
- src/Phaser.js line 306 + src/Phaser.js line 306 @@ -3226,7 +3226,7 @@
Type:
Source:
- src/Phaser.js line 110 + src/Phaser.js line 110 @@ -3303,7 +3303,7 @@
Type:
Source:
- src/Phaser.js line 320 + src/Phaser.js line 320 @@ -3380,7 +3380,7 @@
Type:
Source:
- src/Phaser.js line 68 + src/Phaser.js line 68 @@ -3457,7 +3457,7 @@
Type:
Source:
- src/Phaser.js line 425 + src/Phaser.js line 425 @@ -3534,7 +3534,7 @@
Type:
Source:
- src/Phaser.js line 418 + src/Phaser.js line 418 @@ -3611,7 +3611,7 @@
Type:
Source:
- src/Phaser.js line 257 + src/Phaser.js line 257 @@ -3688,7 +3688,7 @@
Type:
Source:
- src/Phaser.js line 264 + src/Phaser.js line 264 @@ -3765,7 +3765,7 @@
Type:
Source:
- src/Phaser.js line 61 + src/Phaser.js line 61 @@ -3842,7 +3842,7 @@
Type:
Source:
- src/Phaser.js line 299 + src/Phaser.js line 299 @@ -3919,7 +3919,7 @@
Type:
Source:
- src/Phaser.js line 271 + src/Phaser.js line 271 @@ -3996,7 +3996,7 @@
Type:
Source:
- src/Phaser.js line 229 + src/Phaser.js line 229 @@ -4073,7 +4073,7 @@
Type:
Source:
- src/Phaser.js line 180 + src/Phaser.js line 180 @@ -4150,7 +4150,7 @@
Type:
Source:
- src/Phaser.js line 327 + src/Phaser.js line 327 @@ -4227,7 +4227,7 @@
Type:
Source:
- src/Phaser.js line 250 + src/Phaser.js line 250 @@ -4304,7 +4304,7 @@
Type:
Source:
- src/Phaser.js line 152 + src/Phaser.js line 152 @@ -4381,7 +4381,7 @@
Type:
Source:
- src/Phaser.js line 222 + src/Phaser.js line 222 @@ -4458,7 +4458,7 @@
Type:
Source:
- src/Phaser.js line 75 + src/Phaser.js line 75 @@ -4535,7 +4535,7 @@
Type:
Source:
- src/Phaser.js line 453 + src/Phaser.js line 453 @@ -4612,7 +4612,7 @@
Type:
Source:
- src/Phaser.js line 446 + src/Phaser.js line 446 @@ -4689,7 +4689,7 @@
Type:
Source:
- src/Phaser.js line 439 + src/Phaser.js line 439 @@ -4766,7 +4766,7 @@
Type:
Source:
- src/Phaser.js line 236 + src/Phaser.js line 236 @@ -4843,7 +4843,7 @@
Type:
Source:
- src/Phaser.js line 278 + src/Phaser.js line 278 @@ -5039,7 +5039,7 @@
Properties:
Source:
- src/Phaser.js line 526 + src/Phaser.js line 526 @@ -5116,7 +5116,7 @@
Type:
Source:
- src/Phaser.js line 96 + src/Phaser.js line 96 @@ -5193,7 +5193,7 @@
Type:
Source:
- src/Phaser.js line 215 + src/Phaser.js line 215 @@ -5270,7 +5270,7 @@
Type:
Source:
- src/Phaser.js line 124 + src/Phaser.js line 124 @@ -5347,7 +5347,7 @@
Type:
Source:
- src/Phaser.js line 159 + src/Phaser.js line 159 @@ -5424,7 +5424,7 @@
Type:
Source:
- src/Phaser.js line 166 + src/Phaser.js line 166 @@ -5501,7 +5501,7 @@
Type:
Source:
- src/Phaser.js line 131 + src/Phaser.js line 131 @@ -5578,7 +5578,7 @@
Type:
Source:
- src/Phaser.js line 397 + src/Phaser.js line 397 @@ -5655,7 +5655,7 @@
Type:
Source:
- src/Phaser.js line 390 + src/Phaser.js line 390 @@ -5732,7 +5732,7 @@
Type:
Source:
- src/Phaser.js line 404 + src/Phaser.js line 404 @@ -5809,7 +5809,7 @@
Type:
Source:
- src/Phaser.js line 82 + src/Phaser.js line 82 @@ -5886,7 +5886,7 @@
Type:
Source:
- src/Phaser.js line 12 + src/Phaser.js line 12 @@ -5963,7 +5963,7 @@
Type:
Source:
- src/Phaser.js line 313 + src/Phaser.js line 313 @@ -6040,7 +6040,7 @@
Type:
Source:
- src/Phaser.js line 292 + src/Phaser.js line 292 @@ -6117,7 +6117,7 @@
Type:
Source:
- src/Phaser.js line 40 + src/Phaser.js line 40 @@ -6194,7 +6194,7 @@
Type:
Source:
- src/Phaser.js line 201 + src/Phaser.js line 201 @@ -6271,7 +6271,7 @@
Type:
Source:
- src/Phaser.js line 54 + src/Phaser.js line 54 @@ -6366,7 +6366,7 @@

Source:
- src/gameobjects/components/Component.js line 7 + src/gameobjects/components/Component.js line 7 @@ -6409,9 +6409,9 @@

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -6428,7 +6428,7 @@

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -6457,7 +6457,7 @@

- + diff --git a/docs/PhaserGlobal.html b/docs/PhaserGlobal.html index a38a76af8..309f0fcc5 100644 --- a/docs/PhaserGlobal.html +++ b/docs/PhaserGlobal.html @@ -6,7 +6,7 @@ Phaser CE Namespace: PhaserGlobal - + @@ -388,7 +388,7 @@

Properties:
Source:
- src/PhaserGlobal.js line 1 + src/PhaserGlobal.js line 1 @@ -431,9 +431,9 @@
Properties:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -450,7 +450,7 @@
Properties:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -479,7 +479,7 @@
Properties:
- + diff --git a/docs/classes.list.html b/docs/classes.list.html index cc1bf1a39..a55d5a71a 100644 --- a/docs/classes.list.html +++ b/docs/classes.list.html @@ -6,7 +6,7 @@ Phaser CE Classes - + @@ -770,9 +770,9 @@

Namespaces

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -789,7 +789,7 @@

Namespaces

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -818,7 +818,7 @@

Namespaces

- + diff --git a/docs/global.html b/docs/global.html index 7656cc092..692441f28 100644 --- a/docs/global.html +++ b/docs/global.html @@ -6,7 +6,7 @@ Phaser CE Global - + @@ -283,7 +283,7 @@
Type:
Source:
- src/core/Group.js line 3163 + src/core/Group.js line 3163 @@ -1459,6 +1459,9 @@
Properties:
boolean +| + +string @@ -1483,7 +1486,7 @@
Properties:
- +

Sets Phaser.Game#transparent. 'notMultiplied' disables the WebGL context attribute premultipliedAlpha.

@@ -1640,7 +1643,7 @@
Properties:
Source:
- src/core/Game.js line 527 + src/core/Game.js line 527 @@ -1669,9 +1672,9 @@
Properties:

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1688,7 +1691,7 @@
Properties:

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1717,7 +1720,7 @@
Properties:
- + diff --git a/docs/index.html b/docs/index.html index fa74160ac..efc2ff9c8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,7 +6,7 @@ Phaser CE Index - + @@ -983,9 +983,9 @@

Utils

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -1002,7 +1002,7 @@

Utils

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -1031,7 +1031,7 @@

Utils

- + diff --git a/docs/namespaces.list.html b/docs/namespaces.list.html index ee0c3d2c7..9810b7dba 100644 --- a/docs/namespaces.list.html +++ b/docs/namespaces.list.html @@ -6,7 +6,7 @@ Phaser CE Namespaces - + @@ -770,9 +770,9 @@

Namespaces

- phaser-ce@2.10.3 + phaser-ce@2.10.4 is on - GitHub + GitHub and NPM

@@ -789,7 +789,7 @@

Namespaces

Documentation generated by JSDoc 3.5.4 - on 2018-03-22 + on 2018-05-03 using Tomorrow.

@@ -818,7 +818,7 @@

Namespaces

- + diff --git a/typescript/phaser.comments.d.ts b/typescript/phaser.comments.d.ts index a4b37b759..f983c6d23 100644 --- a/typescript/phaser.comments.d.ts +++ b/typescript/phaser.comments.d.ts @@ -6534,6 +6534,16 @@ declare module Phaser { */ bottom: number; + /** + * The x coordinate of the center of the Ellipse. + */ + centerX: number; + + /** + * The y coordinate of the center of the Ellipse. + */ + centerY: number; + /** * Determines whether or not this Ellipse object is empty. Will return a value of true if the Ellipse objects dimensions are less than or equal to 0; otherwise false. * If set to true it will reset all of the Ellipse objects properties to 0. An Ellipse object is empty if its width or height is less than or equal to 0. Gets or sets the empty state of the ellipse. @@ -9807,12 +9817,12 @@ declare module Phaser { /** * Draws an ellipse. * - * @param x The X coordinate of the center of the ellipse - * @param y The Y coordinate of the center of the ellipse - * @param width The half width of the ellipse - * @param height The half height of the ellipse + * @param centerX The X coordinate of the center of the ellipse + * @param centerY The Y coordinate of the center of the ellipse + * @param halfWidth The half width of the ellipse + * @param halfHeight The half height of the ellipse */ - drawEllipse(x: number, y: number, width: number, height: number): Phaser.Graphics; + drawEllipse(centerX: number, centerY: number, halfWidth: number, halfHeight: number): Phaser.Graphics; /** * Draws a polygon using the given path. @@ -12485,12 +12495,13 @@ declare module Phaser { /** * Adds a callback that is fired every time the activePointer receives a DOM move event such as a mousemove or touchmove. * - * The callback will be sent 4 parameters: + * The callback will be sent 5 parameters: * - * A reference to the Phaser.Pointer object that moved, - * The x position of the pointer, - * The y position, - * A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down). + * - A reference to the Phaser.Pointer object that moved + * - The x position of the pointer + * - The y position + * - A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down) + * - The DOM move event * * It will be called every time the activePointer moves, which in a multi-touch game can be a lot of times, so this is best * to only use if you've limited input to a single pointer (i.e. mouse or touch). @@ -29340,7 +29351,7 @@ declare module Phaser { /** * Specify a padding value which is added to the line width and height when calculating the Text size. - * ALlows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions. + * Allows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions. */ padding: Phaser.Point; @@ -29458,6 +29469,12 @@ declare module Phaser { */ tabs: number | number[]; + /** + * The text used to measure the font's width and height + * Default: '|MÉq' + */ + testString: string; + /** * The text to be displayed by this Text object. * Use a \n to insert a carriage return and split the text. @@ -30395,6 +30412,7 @@ declare module Phaser { /** * Fills the given area with the specified tile. + * Only the tile indexes are modified. * * @param index The index of the tile that the area will be filled with. * @param x X position of the top left of the area to operate one, given in tiles, not pixels. @@ -30548,7 +30566,7 @@ declare module Phaser { * Puts a tile of the given index value at the coordinate specified. * If you pass `null` as the tile it will pass your call over to Tilemap.removeTile instead. * - * @param tile The index of this tile to set or a Phaser.Tile object. If null the tile is removed from the map. + * @param tile The index of this tile to set or a Phaser.Tile object. If a Tile object, all of its data will be copied. If null the tile is removed from the map. * @param x X position to place the tile (given in tile units, not pixels) * @param y Y position to place the tile (given in tile units, not pixels) * @param layer The layer to modify. @@ -30571,6 +30589,7 @@ declare module Phaser { /** * Randomises a set of tiles in a given area. + * Only the tile indexes are modified. * * @param x X position of the top left of the area to operate one, given in tiles, not pixels. * @param y Y position of the top left of the area to operate one, given in tiles, not pixels. @@ -30740,6 +30759,7 @@ declare module Phaser { /** * Shuffles a set of tiles in a given area. It will only randomise the tiles in that area, so if they're all the same nothing will appear to have changed! + * Only the tile indexes are modified. * * @param x X position of the top left of the area to operate one, given in tiles, not pixels. * @param y Y position of the top left of the area to operate one, given in tiles, not pixels. @@ -30751,6 +30771,7 @@ declare module Phaser { /** * Scans the given area for tiles with an index matching tileA and swaps them with tileB. + * Only the tile indexes are modified. * * @param tileA First tile index. * @param tileB Second tile index. @@ -33566,6 +33587,12 @@ declare module Phaser { */ class Debug { + static GEOM_AUTO: number; + static GEOM_RECTANGLE: number; + static GEOM_CIRCLE: number; + static GEOM_POINT: number; + static GEOM_ELLIPSE: number; + /** * A collection of methods for displaying debug information about game objects. @@ -33734,7 +33761,7 @@ declare module Phaser { * @param object The geometry object to render. * @param color Color of the debug info to be rendered (format is css color string). * @param filled Render the objected as a filled (default, true) or a stroked (false) - Default: true - * @param forceType Force rendering of a specific type. If 0 no type will be forced, otherwise 1 = Rectangle, 2 = Circle,3 = Point, 4 = Line and 5 = Ellipse. + * @param forceType Force rendering of a specific type: (0) GEOM_AUTO, 1 GEOM_RECTANGLE, (2) GEOM_CIRCLE, (3) GEOM_POINT, (4) GEOM_LINE, (5) GEOM_ELLIPSE. - Default: Phaser.Utils.Debug.GEOM_AUTO */ geom(object: any, color?: string, fiiled?: boolean, forceType?: number): void; @@ -33817,7 +33844,7 @@ declare module Phaser { * @param x X position of the pixel to be rendered. * @param y Y position of the pixel to be rendered. * @param color Color of the pixel (format is css color string). - * @param size The 'size' to render the pixel at. - Default: 2 + * @param size The width and height of the rendered pixel. - Default: 2 */ pixel(x: number, y: number, color?: string, size?: number): void; diff --git a/typescript/pixi.comments.d.ts b/typescript/pixi.comments.d.ts index 8d55d3161..61461270d 100644 --- a/typescript/pixi.comments.d.ts +++ b/typescript/pixi.comments.d.ts @@ -1,412 +1,412 @@ -// Type definitions for PIXI with Phaser Deviations. - -declare module PIXI { - - export var game: Phaser.Game; - export var WEBGL_RENDERER: number; - export var CANVAS_RENDERER: number; - export var VERSION: string; - - export enum blendModes { - - NORMAL, - ADD, - MULTIPLY, - SCREEN, - OVERLAY, - DARKEN, - LIGHTEN, - COLOR_DODGE, - COLOR_BURN, - HARD_LIGHT, - SOFT_LIGHT, - DIFFERENCE, - EXCLUSION, - HUE, - SATURATION, - COLOR, - LUMINOSITY - - } - - export enum scaleModes { - - DEFAULT, - LINEAR, - NEAREST - - } - - export var glContexts: WebGLRenderingContext[]; - export var instances: any[]; - - export var TextureSilentFail: boolean; - - export function canUseNewCanvasBlendModes(): boolean; - - export function CompileFragmentShader(gl: WebGLRenderingContext, shaderSrc: string[]): any; - - export interface IEventCallback { - (e?: IEvent): void; - } - - export interface IEvent { - type: string; - content: any; - } - - export interface HitArea { - contains(x: number, y: number): boolean; - } - - export interface IInteractionDataCallback { - (interactionData: InteractionData): void; - } - - export interface PixiRenderer { - - autoResize: boolean; - clearBeforeRender: boolean; - height: number; - resolution: number; - transparent: boolean; - type: number; - view: HTMLCanvasElement; - width: number; - - destroy(): void; - render(stage: DisplayObjectContainer): void; - resize(width: number, height: number): void; - - } - - export interface PixiRendererOptions { - - autoResize?: boolean; - antialias?: boolean; - clearBeforeRender?: boolean; - preserveDrawingBuffer?: boolean; - resolution?: number; - transparent?: boolean; - view?: HTMLCanvasElement; - - } - - export interface BitmapTextStyle { - - font?: string; - align?: string; - tint?: string; - - } - - export interface TextStyle { - - align?: string; - dropShadow?: boolean; - dropShadowColor?: string; - dropShadowAngle?: number; - dropShadowDistance?: number; - fill?: string; - font?: string; - lineJoin?: string; - stroke?: string; - strokeThickness?: number; - wordWrap?: boolean; - wordWrapWidth?: number; - - } - - export interface Loader { - - load(): void; - - } - - export interface MaskData { - - alpha: number; - worldTransform: number[]; - - } - - export interface RenderSession { - - context: CanvasRenderingContext2D; - maskManager: CanvasMaskManager; - scaleMode: scaleModes; - smoothProperty: string; - roundPixels: boolean; - - } - - export interface ShaderAttribute { - // TODO: Find signature of shader attributes - } - - export interface FilterBlock { - - visible: boolean; - renderable: boolean; - - } - - // Phaser.Filter is used instead - export class AbstractFilter { - - constructor(fragmentSrc: string | string[], uniforms: any); - - dirty: boolean; - padding: number; - uniforms: any; - fragmentSrc: string | string[]; - - apply(frameBuffer: WebGLFramebuffer): void; - syncUniforms(): void; - - } - +// Type definitions for PIXI with Phaser Deviations. + +declare module PIXI { + + export var game: Phaser.Game; + export var WEBGL_RENDERER: number; + export var CANVAS_RENDERER: number; + export var VERSION: string; + + export enum blendModes { + + NORMAL, + ADD, + MULTIPLY, + SCREEN, + OVERLAY, + DARKEN, + LIGHTEN, + COLOR_DODGE, + COLOR_BURN, + HARD_LIGHT, + SOFT_LIGHT, + DIFFERENCE, + EXCLUSION, + HUE, + SATURATION, + COLOR, + LUMINOSITY + + } + + export enum scaleModes { + + DEFAULT, + LINEAR, + NEAREST + + } + + export var glContexts: WebGLRenderingContext[]; + export var instances: any[]; + + export var TextureSilentFail: boolean; + + export function canUseNewCanvasBlendModes(): boolean; + + export function CompileFragmentShader(gl: WebGLRenderingContext, shaderSrc: string[]): any; + + export interface IEventCallback { + (e?: IEvent): void; + } + + export interface IEvent { + type: string; + content: any; + } + + export interface HitArea { + contains(x: number, y: number): boolean; + } + + export interface IInteractionDataCallback { + (interactionData: InteractionData): void; + } + + export interface PixiRenderer { + + autoResize: boolean; + clearBeforeRender: boolean; + height: number; + resolution: number; + transparent: boolean; + type: number; + view: HTMLCanvasElement; + width: number; + + destroy(): void; + render(stage: DisplayObjectContainer): void; + resize(width: number, height: number): void; + + } + + export interface PixiRendererOptions { + + autoResize?: boolean; + antialias?: boolean; + clearBeforeRender?: boolean; + preserveDrawingBuffer?: boolean; + resolution?: number; + transparent?: boolean; + view?: HTMLCanvasElement; + + } + + export interface BitmapTextStyle { + + font?: string; + align?: string; + tint?: string; + + } + + export interface TextStyle { + + align?: string; + dropShadow?: boolean; + dropShadowColor?: string; + dropShadowAngle?: number; + dropShadowDistance?: number; + fill?: string; + font?: string; + lineJoin?: string; + stroke?: string; + strokeThickness?: number; + wordWrap?: boolean; + wordWrapWidth?: number; + + } + + export interface Loader { + + load(): void; + + } + + export interface MaskData { + + alpha: number; + worldTransform: number[]; + + } + + export interface RenderSession { + + context: CanvasRenderingContext2D; + maskManager: CanvasMaskManager; + scaleMode: scaleModes; + smoothProperty: string; + roundPixels: boolean; + + } + + export interface ShaderAttribute { + // TODO: Find signature of shader attributes + } + + export interface FilterBlock { + + visible: boolean; + renderable: boolean; + + } + + // Phaser.Filter is used instead + export class AbstractFilter { + + constructor(fragmentSrc: string | string[], uniforms: any); + + dirty: boolean; + padding: number; + uniforms: any; + fragmentSrc: string | string[]; + + apply(frameBuffer: WebGLFramebuffer): void; + syncUniforms(): void; + + } + /** * A texture stores the information that represents an image. All textures have a base texture. */ - export class BaseTexture implements Mixin { - + export class BaseTexture implements Mixin { + /** * Helper function that creates a base texture from the given canvas element. - * + * * @param canvas The canvas element source of the texture * @param scaleMode See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values * @param resolution the resolution of the texture (for HiDPI displays) */ - static fromCanvas(canvas: HTMLCanvasElement, scaleMode?: scaleModes): BaseTexture; - + static fromCanvas(canvas: HTMLCanvasElement, scaleMode?: scaleModes): BaseTexture; + /** * A texture stores the information that represents an image. All textures have a base texture. - * + * * @param source the source object (image or canvas) * @param scaleMode See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values * @param resolution the resolution of the texture (for HiDPI displays) */ - constructor(source: HTMLImageElement, scaleMode: scaleModes); + constructor(source: HTMLImageElement, scaleMode: scaleModes); /** * A texture stores the information that represents an image. All textures have a base texture. - * + * * @param source the source object (image or canvas) * @param scaleMode See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values * @param resolution the resolution of the texture (for HiDPI displays) */ - constructor(source: HTMLCanvasElement, scaleMode: scaleModes); - + constructor(source: HTMLCanvasElement, scaleMode: scaleModes); + /** * [read-only] The height of the base texture set when the image has loaded */ - height: number; + height: number; /** * [read-only] Set to true once the base texture has loaded */ - hasLoaded: boolean; + hasLoaded: boolean; /** * Set this to true if a mipmap of this texture needs to be generated. This value needs to be set before the texture is used * Also the texture must be a power of two size to work */ - mipmap: boolean; + mipmap: boolean; /** * Controls if RGB channels should be pre-multiplied by Alpha (WebGL only) * Default: true */ - premultipliedAlpha: boolean; + premultipliedAlpha: boolean; /** * The Resolution of the texture. */ - resolution: number; + resolution: number; /** * The scale mode to apply when scaling this texture * Default: PIXI.scaleModes.LINEAR */ - scaleMode: scaleModes; + scaleMode: scaleModes; /** * A BaseTexture can be set to skip the rendering phase in the WebGL Sprite Batch. - * + * * You may want to do this if you have a parent Sprite with no visible texture (i.e. uses the internal `__default` texture) * that has children that you do want to render, without causing a batch flush in the process. */ - skipRender: boolean; + skipRender: boolean; /** * The image source that is used to create the texture. */ - source: HTMLImageElement; + source: HTMLImageElement; /** * The multi texture batching index number. */ - textureIndex: number; + textureIndex: number; /** * [read-only] The width of the base texture set when the image has loaded */ - width: number; - - listeners(eventName: string): Function[]; - emit(eventName: string, data?: any): boolean; - dispatchEvent(eventName: string, data?: any): boolean; - on(eventName: string, fn: Function): Function; - addEventListener(eventName: string, fn: Function): Function; - once(eventName: string, fn: Function): Function; - off(eventName: string, fn: Function): Function; - removeAllEventListeners(eventName: string): void; + width: number; + + listeners(eventName: string): Function[]; + emit(eventName: string, data?: any): boolean; + dispatchEvent(eventName: string, data?: any): boolean; + on(eventName: string, fn: Function): Function; + addEventListener(eventName: string, fn: Function): Function; + once(eventName: string, fn: Function): Function; + off(eventName: string, fn: Function): Function; + removeAllEventListeners(eventName: string): void; /** * Forces this BaseTexture to be set as loaded, with the given width and height. * Then calls BaseTexture.dirty. * Important for when you don't want to modify the source object by forcing in `complete` or dimension properties it may not have. - * + * * @param width The new width to force the BaseTexture to be. * @param height The new height to force the BaseTexture to be. */ - forceLoaded(width: number, height: number): void; + forceLoaded(width: number, height: number): void; /** * Destroys this base texture */ - destroy(): void; + destroy(): void; /** * Sets all glTextures to be dirty. */ - dirty(): void; + dirty(): void; /** * Removes the base texture from the GPU, useful for managing resources on the GPU. * Atexture is still 100% usable and will simply be reuploaded if there is a sprite on screen that is using it. */ - unloadFromGPU(): void; - - } - + unloadFromGPU(): void; + + } + /** * Creates a Canvas element of the given size. */ - export class CanvasBuffer { - + export class CanvasBuffer { + /** * Creates a Canvas element of the given size. - * + * * @param width the width for the newly created canvas * @param height the height for the newly created canvas */ - constructor(width: number, height: number); - + constructor(width: number, height: number); + /** * The Canvas object that belongs to this CanvasBuffer. */ - canvas: HTMLCanvasElement; + canvas: HTMLCanvasElement; /** * A CanvasRenderingContext2D object representing a two-dimensional rendering context. */ - context: CanvasRenderingContext2D; + context: CanvasRenderingContext2D; /** * The height of the Canvas in pixels. */ - height: number; + height: number; /** * The width of the Canvas in pixels. */ - width: number; - + width: number; + /** * Frees the canvas up for use again. */ - destroy(): void; + destroy(): void; /** * Clears the canvas that was created by the CanvasBuffer class. */ - clear(): void; + clear(): void; /** * Resizes the canvas to the specified width and height. - * + * * @param width the new width of the canvas * @param height the new height of the canvas */ - resize(width: number, height: number): void; - - } - + resize(width: number, height: number): void; + + } + /** * A set of functions used to handle masking. */ - export class CanvasMaskManager { - + export class CanvasMaskManager { + /** * This method adds it to the current stack of masks. - * + * * @param maskData the maskData that will be pushed * @param renderSession The renderSession whose context will be used for this mask manager. */ - pushMask(maskData: MaskData, renderSession: RenderSession): void; + pushMask(maskData: MaskData, renderSession: RenderSession): void; /** * Restores the current drawing context to the state it was before the mask was applied. - * + * * @param renderSession The renderSession whose context will be used for this mask manager. */ - popMask(renderSession: RenderSession): void; - - } - + popMask(renderSession: RenderSession): void; + + } + /** * The CanvasRenderer draws the Stage and all its content onto a 2d canvas. This renderer should be used for browsers that do not support webGL. * Don't forget to add the CanvasRenderer.view to your DOM or you will not see anything :) */ - export class CanvasRenderer implements PixiRenderer { - + export class CanvasRenderer implements PixiRenderer { + /** * The CanvasRenderer draws the Stage and all its content onto a 2d canvas. This renderer should be used for browsers that do not support webGL. * Don't forget to add the CanvasRenderer.view to your DOM or you will not see anything :) - * + * * @param game A reference to the Phaser Game instance */ - constructor(game: Phaser.Game); - + constructor(game: Phaser.Game); + /** * A reference to the Phaser Game instance. */ - game: Phaser.Game; + game: Phaser.Game; /** * The renderer type. */ - type: number; + type: number; /** * The resolution of the canvas. */ - resolution: number; + resolution: number; /** * This sets if the CanvasRenderer will clear the canvas or not before the new render pass. @@ -414,181 +414,181 @@ declare module PIXI { * If the Stage is transparent Pixi will use clearRect to clear the canvas every frame. * Disable this by setting this to false. For example if your game has a canvas filling background image you often don't need this set. */ - clearBeforeRender: boolean; + clearBeforeRender: boolean; /** * Whether the render view is transparent */ - transparent: boolean; + transparent: boolean; /** * Whether the render view should be resized automatically */ - autoResize: boolean; + autoResize: boolean; /** * The width of the canvas view * Default: 800 */ - width: number; + width: number; /** * The height of the canvas view * Default: 600 */ - height: number; + height: number; /** * The canvas element that everything is drawn to. */ - view: HTMLCanvasElement; + view: HTMLCanvasElement; /** * The canvas 2d context that everything is drawn with */ - context: CanvasRenderingContext2D; + context: CanvasRenderingContext2D; /** * Boolean flag controlling canvas refresh. */ - refresh: boolean; + refresh: boolean; /** * Internal var. */ - count: number; + count: number; /** * Instance of a PIXI.CanvasMaskManager, handles masking when using the canvas renderer */ - maskManager: CanvasMaskManager; + maskManager: CanvasMaskManager; /** * The render session is just a bunch of parameter used for rendering */ - renderSession: RenderSession; - + renderSession: RenderSession; + /** * Renders the DisplayObjectContainer, usually the Phaser.Stage, to this canvas view. - * + * * @param root The root element to be rendered. */ - render(stage: DisplayObjectContainer): void; + render(stage: DisplayObjectContainer): void; /** * Resizes the canvas view to the specified width and height - * + * * @param width the new width of the canvas view * @param height the new height of the canvas view */ - resize(width: number, height: number): void; - setTexturePriority(textureNameCollection: string[]): string[]; + resize(width: number, height: number): void; + setTexturePriority(textureNameCollection: string[]): string[]; /** * Removes everything from the renderer and optionally removes the Canvas DOM element. - * + * * @param removeView Removes the Canvas element from the DOM. - Default: true */ - destroy(removeView?: boolean): void; - - } - + destroy(removeView?: boolean): void; + + } + /** * Utility methods for Sprite/Texture tinting. */ - export class CanvasTinter { - + export class CanvasTinter { + /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. - * + * * @param sprite the sprite to tint * @param color the color to use to tint the sprite with * @return The tinted canvas */ - static getTintedTexture(sprite: Sprite, color: number): HTMLCanvasElement; + static getTintedTexture(sprite: Sprite, color: number): HTMLCanvasElement; /** * Tint a texture using the "multiply" operation. - * + * * @param texture the texture to tint * @param color the color to use to tint the sprite with * @param canvas the current canvas */ - static tintWithMultiply(texture: Texture, color: number, canvas: HTMLCanvasElement): void; - static tintWithOverlay(texture: Texture, color: number, canvas: HTMLCanvasElement): void; - static tintWithPerPixel(texture: Texture, color: number, canvas: HTMLCanvasElement): void; - - static canUseMultiply: boolean; - static tintMethod: any; - - } - + static tintWithMultiply(texture: Texture, color: number, canvas: HTMLCanvasElement): void; + static tintWithOverlay(texture: Texture, color: number, canvas: HTMLCanvasElement): void; + static tintWithPerPixel(texture: Texture, color: number, canvas: HTMLCanvasElement): void; + + static canUseMultiply: boolean; + static tintMethod: any; + + } + /** * The base class for all objects that are rendered. Contains properties for position, scaling, * rotation, masks and cache handling. - * + * * This is an abstract class and should not be used on its own, rather it should be extended. - * + * * It is used internally by the likes of PIXI.Sprite. */ - export class DisplayObject { - + export class DisplayObject { + /** * The alpha value of this DisplayObject. A value of 1 is fully opaque. A value of 0 is transparent. * Please note that an object with an alpha value of 0 is skipped during the render pass. - * + * * The value of this property does not reflect any alpha values set further up the display list. * To obtain that value please see the `worldAlpha` property. * Default: 1 */ - alpha: number; - buttonMode: boolean; + alpha: number; + buttonMode: boolean; /** * Sets if this DisplayObject should be cached as a bitmap. - * + * * When invoked it will take a snapshot of the DisplayObject, as it is at that moment, and store it * in a RenderTexture. This is then used whenever this DisplayObject is rendered. It can provide a * performance benefit for complex, but static, DisplayObjects. I.e. those with lots of children. - * + * * Transparent areas adjoining the edges may be removed ({@link https://github.com/photonstorm/phaser-ce/issues/283 #283}). - * + * * Cached Bitmaps do not track their parents. If you update a property of this DisplayObject, it will not * re-generate the cached bitmap automatically. To do that you need to call `DisplayObject.updateCache`. - * + * * To remove a cached bitmap, set this property to `null`. Cache this DisplayObject as a Bitmap. Set to `null` to remove an existing cached bitmap. */ - cacheAsBitmap: boolean; - defaultCursor: string; + cacheAsBitmap: boolean; + defaultCursor: string; /** * The rectangular area used by filters when rendering a shader for this DisplayObject. */ - filterArea: Rectangle; + filterArea: Rectangle; /** * Sets the filters for this DisplayObject. This is a WebGL only feature, and is ignored by the Canvas * Renderer. A filter is a shader applied to this DisplayObject. You can modify the placement of the filter * using `DisplayObject.filterArea`. - * + * * To remove filters, set this property to `null`. - * + * * Note: You cannot have a filter set, and a MULTIPLY Blend Mode active, at the same time. Setting a * filter will reset this DisplayObjects blend mode to NORMAL. An Array of Phaser.Filter objects, or objects that extend them. */ - filters: AbstractFilter[]; + filters: AbstractFilter[]; /** * This is the defined area that will pick up mouse / touch events. It is null by default. * Setting it is a neat way of optimising the hitTest function that the interactionManager will use (as it will not need to hit test all the children) */ - hitArea: HitArea; - interactive: boolean; + hitArea: HitArea; + interactive: boolean; /** * Sets a mask for this DisplayObject. A mask is an instance of a Graphics object. @@ -596,7 +596,7 @@ declare module PIXI { * Under a Canvas renderer it uses shape clipping. Under a WebGL renderer it uses a Stencil Buffer. * To remove a mask, set this property to `null`. The mask applied to this DisplayObject. Set to `null` to remove an existing mask. */ - mask: Phaser.Graphics; + mask: Phaser.Graphics; /** * The parent DisplayObjectContainer that this DisplayObject is a child of. @@ -604,829 +604,831 @@ declare module PIXI { * The root parent is the Stage object. This property is set automatically when the * DisplayObject is added to, or removed from, a DisplayObjectContainer. */ - parent: DisplayObjectContainer; + parent: DisplayObjectContainer; /** * The pivot point of this DisplayObject that it rotates around. The values are expressed * in pixel values. */ - pivot: Point; + pivot: Point; /** * The coordinates, in pixels, of this DisplayObject, relative to its parent container. - * + * * The value of this property does not reflect any positioning happening further up the display list. * To obtain that value please see the `worldPosition` property. */ - position: Point; + position: Point; /** * Should this DisplayObject be rendered by the renderer? An object with a renderable value of * `false` is skipped during the render pass. */ - renderable: boolean; + renderable: boolean; /** * The rotation of this DisplayObject. The value is given, and expressed, in radians, and is based on * a right-handed orientation. - * + * * The value of this property does not reflect any rotation happening further up the display list. * To obtain that value please see the `worldRotation` property. */ - rotation: number; + rotation: number; /** * The scale of this DisplayObject. A scale of 1:1 represents the DisplayObject * at its default size. A value of 0.5 would scale this DisplayObject by half, and so on. - * + * * The value of this property does not reflect any scaling happening further up the display list. * To obtain that value please see the `worldScale` property. */ - scale: Point; - stage: DisplayObjectContainer; + scale: Point; + stage: DisplayObjectContainer; /** * The visibility of this DisplayObject. A value of `false` makes the object invisible. * A value of `true` makes it visible. - * + * * An object with a visible value of `false` is skipped during the render pass. * Equally a DisplayObject with visible `false` will not render any of its children. - * + * * The value of this property does not reflect any visible values set further up the display list. * To obtain that value please see the {@link PIXI.DisplayObject#worldVisible worldVisible} property. - * + * * Objects that are not {@link PIXI.DisplayObject#worldVisible worldVisible} do not update their {@link PIXI.DisplayObject#worldPosition worldPosition}. * Default: true */ - visible: boolean; + visible: boolean; /** * The multiplied alpha value of this DisplayObject. A value of 1 is fully opaque. A value of 0 is transparent. * This value is the calculated total, based on the alpha values of all parents of this DisplayObjects * in the display list. - * + * * To obtain, and set, the local alpha value, see the `alpha` property. - * + * * Note: This property is only updated at the end of the `updateTransform` call, once per render. Until * that happens this property will contain values based on the previous frame. Be mindful of this if * accessing this property outside of the normal game flow, i.e. from an asynchronous event callback. */ - worldAlpha: number; + worldAlpha: number; /** * The coordinates, in pixels, of this DisplayObject within the world. - * + * * This property contains the calculated total, based on the positions of all parents of this * DisplayObject in the display list. - * + * * Note: This property is only updated at the end of the `updateTransform` call, once per render. Until * that happens this property will contain values based on the previous frame. Be mindful of this if * accessing this property outside of the normal game flow, i.e. from an asynchronous event callback. */ - worldPosition: Point; + worldPosition: Point; /** * The global scale of this DisplayObject. - * + * * This property contains the calculated total, based on the scales of all parents of this * DisplayObject in the display list. - * + * * Note: This property is only updated at the end of the `updateTransform` call, once per render. Until * that happens this property will contain values based on the previous frame. Be mindful of this if * accessing this property outside of the normal game flow, i.e. from an asynchronous event callback. */ - worldScale: Point; + worldScale: Point; /** * The current transform of this DisplayObject. - * + * * This property contains the calculated total, based on the transforms of all parents of this * DisplayObject in the display list. - * + * * Note: This property is only updated at the end of the `updateTransform` call, once per render. Until * that happens this property will contain values based on the previous frame. Be mindful of this if * accessing this property outside of the normal game flow, i.e. from an asynchronous event callback. */ - worldTransform: Matrix; + worldTransform: Matrix; /** * The rotation, in radians, of this DisplayObject. - * + * * This property contains the calculated total, based on the rotations of all parents of this * DisplayObject in the display list. - * + * * Note: This property is only updated at the end of the `updateTransform` call, once per render. Until * that happens this property will contain values based on the previous frame. Be mindful of this if * accessing this property outside of the normal game flow, i.e. from an asynchronous event callback. */ - worldRotation: number; + worldRotation: number; /** * Indicates if this DisplayObject is visible, based on it, and all of its parents, `visible` property values. */ - worldVisible: boolean; + worldVisible: boolean; /** * The horizontal position of the DisplayObject, in pixels, relative to its parent. * If you need the world position of the DisplayObject, use `DisplayObject.worldPosition` instead. */ - x: number; + x: number; /** * The vertical position of the DisplayObject, in pixels, relative to its parent. * If you need the world position of the DisplayObject, use `DisplayObject.worldPosition` instead. */ - y: number; - - click(e: InteractionData): void; - displayObjectUpdateTransform(parent?: DisplayObjectContainer): void; + y: number; + + click(e: InteractionData): void; + displayObjectUpdateTransform(parent?: DisplayObjectContainer): void; /** * Generates a RenderTexture based on this DisplayObject, which can they be used to texture other Sprites. * This can be useful if your DisplayObject is static, or complicated, and needs to be reused multiple times. - * + * * Please note that no garbage collection takes place on old textures. It is up to you to destroy old textures, * and references to them, so they don't linger in memory. - * + * * @param resolution The resolution of the texture being generated. - Default: 1 * @param scaleMode See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values. - Default: PIXI.scaleModes.DEFAULT * @param renderer The renderer used to generate the texture. * @return - A RenderTexture containing an image of this DisplayObject at the time it was invoked. */ - generateTexture(resolution?: number, scaleMode?: number, renderer?: PixiRenderer | number): Phaser.RenderTexture; - mousedown(e: InteractionData): void; - mouseout(e: InteractionData): void; - mouseover(e: InteractionData): void; - mouseup(e: InteractionData): void; - mousemove(e: InteractionData): void; - mouseupoutside(e: InteractionData): void; - rightclick(e: InteractionData): void; - rightdown(e: InteractionData): void; - rightup(e: InteractionData): void; - rightupoutside(e: InteractionData): void; - setStageReference(stage: DisplayObjectContainer): void; - tap(e: InteractionData): void; + generateTexture(resolution?: number, scaleMode?: number, renderer?: PixiRenderer | number): Phaser.RenderTexture; + mousedown(e: InteractionData): void; + mouseout(e: InteractionData): void; + mouseover(e: InteractionData): void; + mouseup(e: InteractionData): void; + mousemove(e: InteractionData): void; + mouseupoutside(e: InteractionData): void; + rightclick(e: InteractionData): void; + rightdown(e: InteractionData): void; + rightup(e: InteractionData): void; + rightupoutside(e: InteractionData): void; + setStageReference(stage: DisplayObjectContainer): void; + tap(e: InteractionData): void; /** * Calculates the global position of this DisplayObject, based on the position given. - * + * * @param position The global position to calculate from. * @return - A point object representing the position of this DisplayObject based on the global position given. */ - toGlobal(position: Point): Point; + toGlobal(position: Point): Point; /** * Calculates the local position of this DisplayObject, relative to another point. - * + * * @param position The world origin to calculate from. * @param from An optional DisplayObject to calculate the global position from. * @return - A point object representing the position of this DisplayObject based on the global position given. */ - toLocal(position: Point, from: DisplayObject): Point; - touchend(e: InteractionData): void; - touchendoutside(e: InteractionData): void; - touchstart(e: InteractionData): void; - touchmove(e: InteractionData): void; + toLocal(position: Point, from: DisplayObject): Point; + touchend(e: InteractionData): void; + touchendoutside(e: InteractionData): void; + touchstart(e: InteractionData): void; + touchmove(e: InteractionData): void; /** * Updates the transform matrix this DisplayObject uses for rendering. - * + * * If the object has no parent, and no parent parameter is provided, it will default to * Phaser.Game.World as the parent transform to use. If that is unavailable the transform fails to take place. - * + * * The `parent` parameter has priority over the actual parent. Use it as a parent override. * Setting it does **not** change the actual parent of this DisplayObject. - * + * * Calling this method updates the `worldTransform`, `worldAlpha`, `worldPosition`, `worldScale` * and `worldRotation` properties. - * + * * If a `transformCallback` has been specified, it is called at the end of this method, and is passed * the new, updated, worldTransform property, along with the parent transform used. - * + * * @param parent Optional parent to calculate this DisplayObjects transform from. * @return - A reference to this DisplayObject. */ - updateTransform(parent?: DisplayObjectContainer): void; + updateTransform(parent?: DisplayObjectContainer): void; /** - * If this DisplayObject has a cached Sprite, this method generates and updates it. - */ - updateCache(): void; - } - + * If this DisplayObject has a cached Sprite, this method generates and updates it. + * @return - A reference to this DisplayObject. + */ + updateCache(): void; + + } + /** * A DisplayObjectContainer represents a collection of display objects. * It is the base class of all display objects that act as a container for other objects. */ - export class DisplayObjectContainer extends DisplayObject { - + export class DisplayObjectContainer extends DisplayObject { + /** * A DisplayObjectContainer represents a collection of display objects. * It is the base class of all display objects that act as a container for other objects. */ - constructor(); - + constructor(); + /** * [read-only] The array of children of this container. */ - children: DisplayObject[]; + children: DisplayObject[]; /** * The height of the displayObjectContainer, setting this will actually modify the scale to achieve the value set */ - height: number; + height: number; /** * The width of the displayObjectContainer, setting this will actually modify the scale to achieve the value set */ - width: number; + width: number; /** * If `ignoreChildInput` is `false` it will allow this objects _children_ to be considered as valid for Input events. - * + * * If this property is `true` then the children will _not_ be considered as valid for Input events. - * + * * Note that this property isn't recursive: only immediate children are influenced, it doesn't scan further down. */ - ignoreChildInput: boolean; - + ignoreChildInput: boolean; + /** * Adds a child to the container. - * + * * @param child The DisplayObject to add to the container * @return The child that was added. */ - addChild(child: DisplayObject): DisplayObject; + addChild(child: DisplayObject): DisplayObject; /** * Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown - * + * * @param child The child to add * @param index The index to place the child in * @return The child that was added. */ - addChildAt(child: DisplayObject, index: number): DisplayObject; + addChildAt(child: DisplayObject, index: number): DisplayObject; /** * Retrieves the global bounds of the displayObjectContainer as a rectangle. The bounds calculation takes all visible children into consideration. - * + * * @param targetCoordinateSpace Returns a rectangle that defines the area of the display object relative to the coordinate system of the targetCoordinateSpace object. * @return The rectangular bounding area */ - getBounds(targetCoordinateSpace?: DisplayObject | Matrix): Rectangle; + getBounds(targetCoordinateSpace?: DisplayObject | Matrix): Rectangle; /** * Returns the child at the specified index - * + * * @param index The index to get the child from * @return The child at the given index, if any. */ - getChildAt(index: number): DisplayObject; + getChildAt(index: number): DisplayObject; /** * Returns the index position of a child DisplayObject instance - * + * * @param child The DisplayObject instance to identify * @return The index position of the child display object to identify */ - getChildIndex(child: DisplayObject): number; + getChildIndex(child: DisplayObject): number; /** * Retrieves the non-global local bounds of the displayObjectContainer as a rectangle without any transformations. The calculation takes all visible children into consideration. * @return The rectangular bounding area */ - getLocalBounds(): Rectangle; + getLocalBounds(): Rectangle; /** * Removes a child from the container. - * + * * @param child The DisplayObject to remove * @return The child that was removed. */ - removeChild(child: DisplayObject): DisplayObject; + removeChild(child: DisplayObject): DisplayObject; /** * Removes a child from the specified index position. - * + * * @param index The index to get the child from * @return The child that was removed. */ - removeChildAt(index: number): DisplayObject; + removeChildAt(index: number): DisplayObject; /** * Removes all children from this container that are within the begin and end indexes. - * + * * @param beginIndex The beginning position. Default value is 0. * @param endIndex The ending position. Default value is size of the container. */ - removeChildren(beginIndex?: number, endIndex?: number): DisplayObject[]; - removeStageReference(): void; + removeChildren(beginIndex?: number, endIndex?: number): DisplayObject[]; + removeStageReference(): void; /** * Changes the position of an existing child in the display object container - * + * * @param child The child DisplayObject instance for which you want to change the index number * @param index The resulting index number for the child display object */ - setChildIndex(child: DisplayObject, index: number): void; + setChildIndex(child: DisplayObject, index: number): void; /** * Swaps the position of 2 Display Objects within this container. - * + * * @param child * @param child2 */ - swapChildren(child: DisplayObject, child2: DisplayObject): void; + swapChildren(child: DisplayObject, child2: DisplayObject): void; /** * Determines whether the specified display object is a child of the DisplayObjectContainer instance or the instance itself. - * + * * @param child */ - contains(child: DisplayObject): boolean; - - } - - export class FilterTexture { - + contains(child: DisplayObject): boolean; + + } + + export class FilterTexture { + /** - * - * + * + * * @param gl the current WebGL drawing context * @param width the horizontal range of the filter * @param height the vertical range of the filter * @param scaleMode See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values */ - constructor(gl: WebGLRenderingContext, width: number, height: number, scaleMode: scaleModes); - - fragmentSrc: string[]; - frameBuffer: WebGLFramebuffer; - gl: WebGLRenderingContext; - program: WebGLProgram; - scaleMode: number; - texture: WebGLTexture; - + constructor(gl: WebGLRenderingContext, width: number, height: number, scaleMode: scaleModes); + + fragmentSrc: string[]; + frameBuffer: WebGLFramebuffer; + gl: WebGLRenderingContext; + program: WebGLProgram; + scaleMode: number; + texture: WebGLTexture; + /** * Clears the filter texture. */ - clear(): void; + clear(): void; /** * Resizes the texture to the specified width and height - * + * * @param width the new width of the texture * @param height the new height of the texture */ - resize(width: number, height: number): void; + resize(width: number, height: number): void; /** * Destroys the filter texture. */ - destroy(): void; - - } - - export class ImageLoader implements Mixin { - - constructor(url: string, crossorigin?: boolean); - - texture: Texture; - - listeners(eventName: string): Function[]; - emit(eventName: string, data?: any): boolean; - dispatchEvent(eventName: string, data?: any): boolean; - on(eventName: string, fn: Function): Function; - addEventListener(eventName: string, fn: Function): Function; - once(eventName: string, fn: Function): Function; - off(eventName: string, fn: Function): Function; - removeAllEventListeners(eventName: string): void; - - load(): void; - loadFramedSpriteSheet(frameWidth: number, frameHeight: number, textureName: string): void; - - } - - export class InteractionData { - - global: Point; - target: Sprite; - originalEvent: Event; - - getLocalPosition(displayObject: DisplayObject, point?: Point, globalPos?: Point): Point; - - } - - // Phaser.Matrix is used instead - export class Matrix { - - a: number; - b: number; - c: number; - d: number; - tx: number; - ty: number; - - append(matrix: Matrix): Matrix; - apply(pos: Point, newPos: Point): Point; - applyInverse(pos: Point, newPos: Point): Point; - determineMatrixArrayType(): number[]; - identity(): Matrix; - rotate(angle: number): Matrix; - fromArray(array: number[]): void; - translate(x: number, y: number): Matrix; - toArray(transpose: boolean): number[]; - scale(x: number, y: number): Matrix; - - } - - export interface Mixin { - - listeners(eventName: string): Function[]; - emit(eventName: string, data?: any): boolean; - dispatchEvent(eventName: string, data?: any): boolean; - on(eventName: string, fn: Function): Function; - addEventListener(eventName: string, fn: Function): Function; - once(eventName: string, fn: Function): Function; - off(eventName: string, fn: Function): Function; - removeAllEventListeners(eventName: string): void; - - } - - export interface IPixiShader { - - fragmentSrc: string[]; - gl: WebGLRenderingContext; - program: WebGLProgram; - vertexSrc: string[]; - - destroy(): void; - init(): void; - - } - - export class PixiShader implements IPixiShader { - - - /** - * - * + destroy(): void; + + } + + export class ImageLoader implements Mixin { + + constructor(url: string, crossorigin?: boolean); + + texture: Texture; + + listeners(eventName: string): Function[]; + emit(eventName: string, data?: any): boolean; + dispatchEvent(eventName: string, data?: any): boolean; + on(eventName: string, fn: Function): Function; + addEventListener(eventName: string, fn: Function): Function; + once(eventName: string, fn: Function): Function; + off(eventName: string, fn: Function): Function; + removeAllEventListeners(eventName: string): void; + + load(): void; + loadFramedSpriteSheet(frameWidth: number, frameHeight: number, textureName: string): void; + + } + + export class InteractionData { + + global: Point; + target: Sprite; + originalEvent: Event; + + getLocalPosition(displayObject: DisplayObject, point?: Point, globalPos?: Point): Point; + + } + + // Phaser.Matrix is used instead + export class Matrix { + + a: number; + b: number; + c: number; + d: number; + tx: number; + ty: number; + + append(matrix: Matrix): Matrix; + apply(pos: Point, newPos: Point): Point; + applyInverse(pos: Point, newPos: Point): Point; + determineMatrixArrayType(): number[]; + identity(): Matrix; + rotate(angle: number): Matrix; + fromArray(array: number[]): void; + translate(x: number, y: number): Matrix; + toArray(transpose: boolean): number[]; + scale(x: number, y: number): Matrix; + + } + + export interface Mixin { + + listeners(eventName: string): Function[]; + emit(eventName: string, data?: any): boolean; + dispatchEvent(eventName: string, data?: any): boolean; + on(eventName: string, fn: Function): Function; + addEventListener(eventName: string, fn: Function): Function; + once(eventName: string, fn: Function): Function; + off(eventName: string, fn: Function): Function; + removeAllEventListeners(eventName: string): void; + + } + + export interface IPixiShader { + + fragmentSrc: string[]; + gl: WebGLRenderingContext; + program: WebGLProgram; + vertexSrc: string[]; + + destroy(): void; + init(): void; + + } + + export class PixiShader implements IPixiShader { + + + /** + * + * * @param gl the current WebGL drawing context */ - constructor(gl: WebGLRenderingContext); - + constructor(gl: WebGLRenderingContext); + /** * Uniform attributes cache. */ - attributes: ShaderAttribute[]; + attributes: ShaderAttribute[]; /** * The Default Vertex shader source. */ - defaultVertexSrc: string[]; + defaultVertexSrc: string[]; /** * A dirty flag */ - dirty: boolean; + dirty: boolean; /** * A local flag */ - firstRun: boolean; + firstRun: boolean; /** * A local texture counter for multi-texture shaders. */ - textureCount: number; + textureCount: number; /** * The fragment shader. */ - fragmentSrc: string[]; - gl: WebGLRenderingContext; + fragmentSrc: string[]; + gl: WebGLRenderingContext; /** * The WebGL program. */ - program: WebGLProgram; - vertexSrc: string[]; - + program: WebGLProgram; + vertexSrc: string[]; + /** * Initialises a Sampler2D uniform (which may only be available later on after initUniforms once the texture has loaded) */ - initSampler2D(): void; + initSampler2D(): void; /** * Initialises the shader uniform values. - * + * * Uniforms are specified in the GLSL_ES Specification: http://www.khronos.org/registry/webgl/specs/latest/1.0/ * http://www.khronos.org/registry/gles/specs/2.0/GLSL_ES_Specification_1.0.17.pdf */ - initUniforms(): void; + initUniforms(): void; /** * Updates the shader uniform values. */ - syncUniforms(): void; - + syncUniforms(): void; + /** * Destroys the shader. */ - destroy(): void; + destroy(): void; /** * Initialises the shader. */ - init(): void; - - } - - export class PixiFastShader implements IPixiShader { - + init(): void; + + } + + export class PixiFastShader implements IPixiShader { + /** - * - * + * + * * @param gl the current WebGL drawing context */ - constructor(gl: WebGLRenderingContext); - + constructor(gl: WebGLRenderingContext); + /** * A local texture counter for multi-texture shaders. */ - textureCount: number; + textureCount: number; /** * The fragment shader. */ - fragmentSrc: string[]; - gl: WebGLRenderingContext; + fragmentSrc: string[]; + gl: WebGLRenderingContext; /** * The WebGL program. */ - program: WebGLProgram; + program: WebGLProgram; /** * The vertex shader. */ - vertexSrc: string[]; - + vertexSrc: string[]; + /** * Destroys the shader. */ - destroy(): void; + destroy(): void; /** * Initialises the shader. */ - init(): void; - - } - - export class PrimitiveShader implements IPixiShader { - + init(): void; + + } + + export class PrimitiveShader implements IPixiShader { + /** - * - * + * + * * @param gl the current WebGL drawing context */ - constructor(gl: WebGLRenderingContext); + constructor(gl: WebGLRenderingContext); /** * The fragment shader. */ - fragmentSrc: string[]; - gl: WebGLRenderingContext; + fragmentSrc: string[]; + gl: WebGLRenderingContext; /** * The WebGL program. */ - program: WebGLProgram; + program: WebGLProgram; /** * The vertex shader. */ - vertexSrc: string[]; - + vertexSrc: string[]; + /** * Destroys the shader. */ - destroy(): void; + destroy(): void; /** * Initialises the shader. */ - init(): void; - - } - - export class ComplexPrimitiveShader implements IPixiShader { - + init(): void; + + } + + export class ComplexPrimitiveShader implements IPixiShader { + /** - * - * + * + * * @param gl the current WebGL drawing context */ - constructor(gl: WebGLRenderingContext); + constructor(gl: WebGLRenderingContext); /** * The fragment shader. */ - fragmentSrc: string[]; - gl: WebGLRenderingContext; + fragmentSrc: string[]; + gl: WebGLRenderingContext; /** * The WebGL program. */ - program: WebGLProgram; + program: WebGLProgram; /** * The vertex shader. */ - vertexSrc: string[]; - + vertexSrc: string[]; + /** * Destroys the shader. */ - destroy(): void; + destroy(): void; /** * Initialises the shader. */ - init(): void; - - } - - export class StripShader implements IPixiShader { - + init(): void; + + } + + export class StripShader implements IPixiShader { + /** - * - * + * + * * @param gl the current WebGL drawing context */ - constructor(gl: WebGLRenderingContext); + constructor(gl: WebGLRenderingContext); /** * The fragment shader. */ - fragmentSrc: string[]; - gl: WebGLRenderingContext; + fragmentSrc: string[]; + gl: WebGLRenderingContext; /** * The WebGL program. */ - program: WebGLProgram; + program: WebGLProgram; /** * The vertex shader. */ - vertexSrc: string[]; - + vertexSrc: string[]; + /** * Destroys the shader. */ - destroy(): void; + destroy(): void; /** * Initialises the shader. */ - init(): void; - - } - - // Overwritten by Phaser.Point - export class Point { - - constructor(x?: number, y?: number); - - x: number; - y: number; - - clone(): Point; - set(x: number, y: number): void; - - } - - // Overwritten by Phaser.Rectangle - export class Rectangle implements HitArea { - - constructor(x?: number, y?: number, width?: number, height?: number); - - bottom: number; - bottomRight: Phaser.Point; - bottomLeft: Phaser.Point; - centerX: number; - centerY: number; - empty: boolean; - halfHeight: number; - halfWidth: number; - height: number; - left: number; - perimeter: number; - randomX: number; - randomY: number; - right: number; - top: number; - topLeft: Phaser.Point; - topRight: Phaser.Point; - type: number; - volume: number; - width: number; - x: number; - y: number; - - clone(): Rectangle; - contains(x: number, y: number): boolean; - - } - - export class Rope extends Strip { - - points: Point[]; - vertices: number[]; - - constructor(texture: Texture, points: Point[]); - - refresh(): void; - setTexture(texture: Texture): void; - - } - + init(): void; + + } + + // Overwritten by Phaser.Point + export class Point { + + constructor(x?: number, y?: number); + + x: number; + y: number; + + clone(): Point; + set(x: number, y: number): void; + + } + + // Overwritten by Phaser.Rectangle + export class Rectangle implements HitArea { + + constructor(x?: number, y?: number, width?: number, height?: number); + + bottom: number; + bottomRight: Phaser.Point; + bottomLeft: Phaser.Point; + centerX: number; + centerY: number; + empty: boolean; + halfHeight: number; + halfWidth: number; + height: number; + left: number; + perimeter: number; + randomX: number; + randomY: number; + right: number; + top: number; + topLeft: Phaser.Point; + topRight: Phaser.Point; + type: number; + volume: number; + width: number; + x: number; + y: number; + + clone(): Rectangle; + contains(x: number, y: number): boolean; + + } + + export class Rope extends Strip { + + points: Point[]; + vertices: number[]; + + constructor(texture: Texture, points: Point[]); + + refresh(): void; + setTexture(texture: Texture): void; + + } + /** * The Sprite object is the base for all textured objects that are rendered to the screen */ - export class Sprite extends DisplayObjectContainer { - + export class Sprite extends DisplayObjectContainer { + /** * The Sprite object is the base for all textured objects that are rendered to the screen - * + * * @param texture The texture for this sprite */ - constructor(texture: Texture); - + constructor(texture: Texture); + /** * The anchor sets the origin point of the texture. * The default (0, 0) is the top left. * (0.5, 0.5) is the center. * (1, 1) is the bottom right. - * + * * You can modify the default values in PIXI.Sprite.defaultAnchor. */ - anchor: Point; + anchor: Point; /** * The blend mode to be applied to the sprite. Set to PIXI.blendModes.NORMAL to remove any blend mode. - * + * * Warning: You cannot have a blend mode and a filter active on the same Sprite. Doing so will render the sprite invisible. * Default: PIXI.blendModes.NORMAL; */ - blendMode: blendModes; + blendMode: blendModes; /** * Controls if this Sprite is processed by the core Phaser game loops and Group loops (except {@link Phaser.Group#update}). * Default: true */ - exists: boolean; + exists: boolean; /** * The shader that will be used to render this Sprite. * Set to null to remove a current shader. * Default: null */ - shader: IPixiShader; + shader: IPixiShader; /** * The texture that the sprite is using */ - texture: Texture; + texture: Texture; /** * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect. * Default: 0xFFFFFF */ - tint: number; - + tint: number; + /** * A Point-like object. @@ -1442,410 +1444,410 @@ declare module PIXI { * The vertical position of the DisplayObject, in pixels, relative to its parent. * If you need the world position of the DisplayObject, use `DisplayObject.worldPosition` instead. */ - static defaultAnchor: {x: number; y: number}; - + static defaultAnchor: {x: number; y: number}; + /** * Sets the texture of the sprite. Be warned that this doesn't remove or destroy the previous * texture this Sprite was using. - * + * * @param texture The PIXI texture that is displayed by the sprite * @param destroy Call Texture.destroy on the current texture before replacing it with the new one? */ - setTexture(texture: Texture, destroyBase?: boolean): void; - - } - - export class SpriteBatch extends DisplayObjectContainer { - - constructor(texture?: Texture); - - ready: boolean; - textureThing: Texture; - - initWebGL(gl: WebGLRenderingContext): void; - - } - - export class Strip extends DisplayObjectContainer { - - static DrawModes: { - - TRIANGLE_STRIP: number; - TRIANGLES: number; - - }; - - constructor(texture: Texture); - - blendMode: number; - colors: number[]; - dirty: boolean; - indices: number[]; - canvasPadding: number; - texture: Texture; - uvs: number[]; - vertices: number[]; - - getBounds(matrix?: Matrix): Rectangle; - - } - + setTexture(texture: Texture, destroyBase?: boolean): void; + + } + + export class SpriteBatch extends DisplayObjectContainer { + + constructor(texture?: Texture); + + ready: boolean; + textureThing: Texture; + + initWebGL(gl: WebGLRenderingContext): void; + + } + + export class Strip extends DisplayObjectContainer { + + static DrawModes: { + + TRIANGLE_STRIP: number; + TRIANGLES: number; + + }; + + constructor(texture: Texture); + + blendMode: number; + colors: number[]; + dirty: boolean; + indices: number[]; + canvasPadding: number; + texture: Texture; + uvs: number[]; + vertices: number[]; + + getBounds(matrix?: Matrix): Rectangle; + + } + /** * A texture stores the information that represents an image or part of an image. It cannot be added * to the display list directly. Instead use it as the texture for a PIXI.Sprite. If no frame is provided then the whole image is used. */ - export class Texture implements Mixin { - - static emptyTexture: Texture; - + export class Texture implements Mixin { + + static emptyTexture: Texture; + /** * Helper function that creates a new a Texture based on the given canvas element. - * + * * @param canvas The canvas element source of the texture * @param scaleMode See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values */ - static fromCanvas(canvas: HTMLCanvasElement, scaleMode?: scaleModes): Texture; - + static fromCanvas(canvas: HTMLCanvasElement, scaleMode?: scaleModes): Texture; + /** * A texture stores the information that represents an image or part of an image. It cannot be added * to the display list directly. Instead use it as the texture for a PIXI.Sprite. If no frame is provided then the whole image is used. - * + * * @param baseTexture The base texture source to create the texture from * @param frame The rectangle frame of the texture to show * @param crop The area of original texture * @param trim Trimmed texture rectangle */ - constructor(baseTexture: BaseTexture, frame?: Rectangle, crop?: Rectangle, trim?: Rectangle); - + constructor(baseTexture: BaseTexture, frame?: Rectangle, crop?: Rectangle, trim?: Rectangle); + /** * The base texture that this texture uses. */ - baseTexture: BaseTexture; + baseTexture: BaseTexture; /** * This is the area of the BaseTexture image to actually copy to the Canvas / WebGL when rendering, * irrespective of the actual frame size or placement (which can be influenced by trimmed texture atlases) */ - crop: Rectangle; + crop: Rectangle; /** * The frame specifies the region of the base texture that this texture uses */ - frame: Rectangle; + frame: Rectangle; /** * The height of the Texture in pixels. */ - height: number; + height: number; /** * Does this Texture have any frame data assigned to it? */ - noFrame: boolean; + noFrame: boolean; /** * This will let a renderer know that a texture has been updated (used mainly for webGL uv updates) */ - requiresUpdate: boolean; + requiresUpdate: boolean; /** * The texture trim data. */ - trim: Point; + trim: Point; /** * The width of the Texture in pixels. */ - width: number; - scope: any; + width: number; + scope: any; /** * This will let the renderer know if the texture is valid. If it's not then it cannot be rendered. */ - valid: boolean; + valid: boolean; /** * A flag that controls if this frame is rotated or not. * Rotation allows you to use rotated frames in texture atlas packing, it has nothing to do with * Sprite rotation. */ - rotated: boolean; - - listeners(eventName: string): Function[]; - emit(eventName: string, data?: any): boolean; - dispatchEvent(eventName: string, data?: any): boolean; - on(eventName: string, fn: Function): Function; - addEventListener(eventName: string, fn: Function): Function; - once(eventName: string, fn: Function): Function; - off(eventName: string, fn: Function): Function; - removeAllEventListeners(eventName: string): void; - + rotated: boolean; + + listeners(eventName: string): Function[]; + emit(eventName: string, data?: any): boolean; + dispatchEvent(eventName: string, data?: any): boolean; + on(eventName: string, fn: Function): Function; + addEventListener(eventName: string, fn: Function): Function; + once(eventName: string, fn: Function): Function; + off(eventName: string, fn: Function): Function; + removeAllEventListeners(eventName: string): void; + /** * Destroys this texture - * + * * @param destroyBase Whether to destroy the base texture as well */ - destroy(destroyBase: boolean): void; + destroy(destroyBase: boolean): void; /** * Specifies the region of the baseTexture that this texture will use. - * + * * @param frame The frame of the texture to set it to */ - setFrame(frame: Rectangle): void; - - } - - export class TilingSprite extends Sprite { - - constructor(texture: Texture, width: number, height: number); - - canvasBuffer: PIXI.CanvasBuffer; - blendMode: number; - refreshTexture: boolean; - texture: Texture; - textureDebug: boolean; - tint: number; - tilePosition: Point; - tilePattern: PIXI.Texture; - tileScale: Point; - tileScaleOffset: Point; - - destroy(): void; - generateTilingTexture(forcePowerOfTwo?: boolean): void; - setTexture(texture: Texture): void; - - } - - export class VideoTexture extends BaseTexture { - - static baseTextureFromVideo(video: HTMLVideoElement, scaleMode: number): BaseTexture; - static textureFromVideo(video: HTMLVideoElement, scaleMode: number): Texture; - static fromUrl(videoSrc: string, scaleMode?: number, autoPlay?: boolean, type?: string, loop?: boolean): Texture; - - controls: boolean; - autoUpdate: boolean; - type: string; - - changeSource(src: string, type: string, loop: boolean): void; - play(): void; - stop(): void; - - destroy(): void; - updateBound(): void; - onPlayStart: () => void; - onPlayStop: () => void; - onCanPlay: (event: any) => void; - - } - - export class WebGLBlendModeManager { - - currentBlendMode: number; - + setFrame(frame: Rectangle): void; + + } + + export class TilingSprite extends Sprite { + + constructor(texture: Texture, width: number, height: number); + + canvasBuffer: PIXI.CanvasBuffer; + blendMode: number; + refreshTexture: boolean; + texture: Texture; + textureDebug: boolean; + tint: number; + tilePosition: Point; + tilePattern: PIXI.Texture; + tileScale: Point; + tileScaleOffset: Point; + + destroy(): void; + generateTilingTexture(forcePowerOfTwo?: boolean): void; + setTexture(texture: Texture): void; + + } + + export class VideoTexture extends BaseTexture { + + static baseTextureFromVideo(video: HTMLVideoElement, scaleMode: number): BaseTexture; + static textureFromVideo(video: HTMLVideoElement, scaleMode: number): Texture; + static fromUrl(videoSrc: string, scaleMode?: number, autoPlay?: boolean, type?: string, loop?: boolean): Texture; + + controls: boolean; + autoUpdate: boolean; + type: string; + + changeSource(src: string, type: string, loop: boolean): void; + play(): void; + stop(): void; + + destroy(): void; + updateBound(): void; + onPlayStart: () => void; + onPlayStop: () => void; + onCanPlay: (event: any) => void; + + } + + export class WebGLBlendModeManager { + + currentBlendMode: number; + /** * Destroys this object. */ - destroy(): void; + destroy(): void; /** * Sets-up the given blendMode from WebGL's point of view. - * + * * @param blendMode the blendMode, should be a Pixi const, such as PIXI.BlendModes.ADD */ - setBlendMode(blendMode: number): boolean; + setBlendMode(blendMode: number): boolean; /** * Sets the WebGL Context. - * + * * @param gl the current WebGL drawing context */ - setContext(gl: WebGLRenderingContext): void; - - } - - export class WebGLFastSpriteBatch { - - constructor(gl: CanvasRenderingContext2D); - - currentBatchSize: number; - currentBaseTexture: BaseTexture; - currentBlendMode: number; - renderSession: RenderSession; - drawing: boolean; - indexBuffer: any; + setContext(gl: WebGLRenderingContext): void; + + } + + export class WebGLFastSpriteBatch { + + constructor(gl: CanvasRenderingContext2D); + + currentBatchSize: number; + currentBaseTexture: BaseTexture; + currentBlendMode: number; + renderSession: RenderSession; + drawing: boolean; + indexBuffer: any; /** * Index data */ - indices: number[]; - lastIndexCount: number; - matrix: Matrix; - maxSize: number; - shader: IPixiShader; - size: number; - vertexBuffer: any; + indices: number[]; + lastIndexCount: number; + matrix: Matrix; + maxSize: number; + shader: IPixiShader; + size: number; + vertexBuffer: any; /** * Vertex data */ - vertices: number[]; - vertSize: number; - - end(): void; + vertices: number[]; + vertSize: number; + + end(): void; /** - * - * + * + * * @param spriteBatch * @param renderSession */ - begin(spriteBatch: SpriteBatch, renderSession: RenderSession): void; - destroy(removeView?: boolean): void; - flush(): void; + begin(spriteBatch: SpriteBatch, renderSession: RenderSession): void; + destroy(removeView?: boolean): void; + flush(): void; /** - * - * + * + * * @param spriteBatch */ - render(spriteBatch: SpriteBatch): void; + render(spriteBatch: SpriteBatch): void; /** - * - * + * + * * @param sprite */ - renderSprite(sprite: Sprite): void; + renderSprite(sprite: Sprite): void; /** * Sets the WebGL Context. - * + * * @param gl the current WebGL drawing context */ - setContext(gl: WebGLRenderingContext): void; - start(): void; - stop(): void; - - } - - export class WebGLFilterManager { - - filterStack: AbstractFilter[]; - transparent: boolean; - offsetX: number; - offsetY: number; - + setContext(gl: WebGLRenderingContext): void; + start(): void; + stop(): void; + + } + + export class WebGLFilterManager { + + filterStack: AbstractFilter[]; + transparent: boolean; + offsetX: number; + offsetY: number; + /** * Applies the filter to the specified area. - * + * * @param filter the filter that needs to be applied * @param filterArea TODO - might need an update * @param width the horizontal range of the filter * @param height the vertical range of the filter */ - applyFilterPass(filter: AbstractFilter, filterArea: Texture, width: number, height: number): void; + applyFilterPass(filter: AbstractFilter, filterArea: Texture, width: number, height: number): void; /** - * - * + * + * * @param renderSession * @param buffer */ - begin(renderSession: RenderSession, buffer: ArrayBuffer): void; + begin(renderSession: RenderSession, buffer: ArrayBuffer): void; /** * Destroys the filter and removes it from the filter stack. */ - destroy(): void; + destroy(): void; /** * Initialises the shader buffers. */ - initShaderBuffers(): void; + initShaderBuffers(): void; /** * Removes the last filter from the filter stack and doesn't return it. */ - popFilter(): void; + popFilter(): void; /** * Applies the filter and adds it to the current filter stack. - * + * * @param filterBlock the filter that will be pushed to the current filter stack */ - pushFilter(filterBlock: FilterBlock): void; + pushFilter(filterBlock: FilterBlock): void; /** * Initialises the context and the properties. - * + * * @param gl the current WebGL drawing context */ - setContext(gl: WebGLRenderingContext): void; - - } - + setContext(gl: WebGLRenderingContext): void; + + } + /** * A set of functions used by the webGL renderer to draw the primitive graphics data */ - export class WebGLGraphics { - - static graphicsDataPool: any[]; - + export class WebGLGraphics { + + static graphicsDataPool: any[]; + /** * Renders the graphics object - * + * * @param graphics * @param renderSession */ - static renderGraphics(graphics: Phaser.Graphics, renderRession: RenderSession): void; + static renderGraphics(graphics: Phaser.Graphics, renderRession: RenderSession): void; /** * Updates the graphics object - * + * * @param graphicsData The graphics object to update * @param gl the current WebGL drawing context */ - static updateGraphics(graphics: Phaser.Graphics, gl: WebGLRenderingContext): void; + static updateGraphics(graphics: Phaser.Graphics, gl: WebGLRenderingContext): void; /** - * - * + * + * * @param webGL * @param type */ - static switchMode(webGL: WebGLRenderingContext, type: number): any; + static switchMode(webGL: WebGLRenderingContext, type: number): any; /** * Builds a rectangle to draw - * + * * @param graphicsData The graphics object containing all the necessary properties * @param webGLData */ - static buildRectangle(graphicsData: Phaser.GraphicsData, webGLData: any): void; + static buildRectangle(graphicsData: Phaser.GraphicsData, webGLData: any): void; /** * Builds a rounded rectangle to draw - * + * * @param graphicsData The graphics object containing all the necessary properties * @param webGLData */ - static buildRoundedRectangle(graphicsData: Phaser.GraphicsData, webGLData: any): void; + static buildRoundedRectangle(graphicsData: Phaser.GraphicsData, webGLData: any): void; /** * Calculate the points for a quadratic bezier curve. (helper function..) * Based on: https://stackoverflow.com/questions/785097/how-do-i-implement-a-bezier-curve-in-c - * + * * @param fromX Origin point x * @param fromY Origin point x * @param cpX Control point x @@ -1853,98 +1855,98 @@ declare module PIXI { * @param toX Destination point x * @param toY Destination point y */ - static quadraticBezierCurve(fromX: number, fromY: number, cpX: number, cpY: number, toX: number, toY: number): number[]; + static quadraticBezierCurve(fromX: number, fromY: number, cpX: number, cpY: number, toX: number, toY: number): number[]; /** * Builds a circle to draw - * + * * @param graphicsData The graphics object to draw * @param webGLData */ - static buildCircle(graphicsData: Phaser.GraphicsData, webGLData: any): void; + static buildCircle(graphicsData: Phaser.GraphicsData, webGLData: any): void; /** * Builds a line to draw - * + * * @param graphicsData The graphics object containing all the necessary properties * @param webGLData */ - static buildLine(graphicsData: Phaser.GraphicsData, webGLData: any): void; + static buildLine(graphicsData: Phaser.GraphicsData, webGLData: any): void; /** * Builds a complex polygon to draw - * + * * @param graphicsData The graphics object containing all the necessary properties * @param webGLData */ - static buildComplexPoly(graphicsData: Phaser.GraphicsData, webGLData: any): void; + static buildComplexPoly(graphicsData: Phaser.GraphicsData, webGLData: any): void; /** * Builds a polygon to draw - * + * * @param graphicsData The graphics object containing all the necessary properties * @param webGLData */ - static buildPoly(graphicsData: Phaser.GraphicsData, webGLData: any): boolean; - - reset(): void; - upload(): void; - - } - - export class WebGLGraphicsData { - - constructor(gl: WebGLRenderingContext); - - gl: WebGLRenderingContext; - glPoints: any[]; - color: number[]; - points: any[]; - indices: any[]; - buffer: WebGLBuffer; - indexBuffer: WebGLBuffer; - mode: number; - alpha: number; - dirty: boolean; - - reset(): void; - upload(): void; - - } - - export class WebGLMaskManager { - + static buildPoly(graphicsData: Phaser.GraphicsData, webGLData: any): boolean; + + reset(): void; + upload(): void; + + } + + export class WebGLGraphicsData { + + constructor(gl: WebGLRenderingContext); + + gl: WebGLRenderingContext; + glPoints: any[]; + color: number[]; + points: any[]; + indices: any[]; + buffer: WebGLBuffer; + indexBuffer: WebGLBuffer; + mode: number; + alpha: number; + dirty: boolean; + + reset(): void; + upload(): void; + + } + + export class WebGLMaskManager { + /** * Destroys the mask stack. */ - destroy(): void; + destroy(): void; /** * Removes the last filter from the filter stack and doesn't return it. - * + * * @param maskData * @param renderSession an object containing all the useful parameters */ - popMask(renderSession: RenderSession): void; + popMask(renderSession: RenderSession): void; /** * Applies the Mask and adds it to the current filter stack. - * + * * @param maskData * @param renderSession */ - pushMask(maskData: any[], renderSession: RenderSession): void; + pushMask(maskData: any[], renderSession: RenderSession): void; /** * Sets the drawing context to the one given in parameter. - * + * * @param gl the current WebGL drawing context */ - setContext(gl: WebGLRenderingContext): void; - - } - + setContext(gl: WebGLRenderingContext): void; + + } + /** * The WebGLRenderer draws the stage and all its content onto a webGL enabled canvas. This renderer @@ -1952,48 +1954,48 @@ declare module PIXI { * So no need for Sprite Batches or Sprite Clouds. * Don't forget to add the view to your DOM or you will not see anything :) */ - export class WebGLRenderer implements PixiRenderer { - - static createWebGLTexture(texture: Texture, gl: WebGLRenderingContext): void; - + export class WebGLRenderer implements PixiRenderer { + + static createWebGLTexture(texture: Texture, gl: WebGLRenderingContext): void; + /** * The WebGLRenderer draws the stage and all its content onto a webGL enabled canvas. This renderer * should be used for browsers that support webGL. This Render works by automatically managing webGLBatchs. * So no need for Sprite Batches or Sprite Clouds. * Don't forget to add the view to your DOM or you will not see anything :) - * + * * @param game A reference to the Phaser Game instance */ - constructor(game: Phaser.Game); - + constructor(game: Phaser.Game); + /** * A reference to the Phaser Game instance. */ - game: Phaser.Game; - type: number; + game: Phaser.Game; + type: number; /** * The resolution of the renderer * Default: 1 */ - resolution: number; + resolution: number; /** * Whether the render view is transparent */ - transparent: boolean; + transparent: boolean; /** * Whether the render view should be resized automatically */ - autoResize: boolean; + autoResize: boolean; /** * The value of the preserveDrawingBuffer flag affects whether or not the contents of the stencil buffer is retained after rendering. */ - preserveDrawingBuffer: boolean; + preserveDrawingBuffer: boolean; /** * This sets if the WebGLRenderer will clear the context texture or not before the new render pass. If true: @@ -2001,301 +2003,301 @@ declare module PIXI { * If the Stage is transparent, Pixi will clear to the target Stage's background color. * Disable this by setting this to false. For example: if your game has a canvas filling background image, you often don't need this set. */ - clearBeforeRender: boolean; + clearBeforeRender: boolean; /** * The width of the canvas view */ - width: number; + width: number; /** * The height of the canvas view */ - height: number; - currentBatchedTextures: string[]; + height: number; + currentBatchedTextures: string[]; /** * The canvas element that everything is drawn to */ - view: HTMLCanvasElement; - projection: Point; - offset: Point; + view: HTMLCanvasElement; + projection: Point; + offset: Point; /** * Deals with managing the shader programs and their attribs */ - shaderManager: WebGLShaderManager; + shaderManager: WebGLShaderManager; /** * Manages the rendering of sprites */ - spriteBatch: WebGLSpriteBatch; + spriteBatch: WebGLSpriteBatch; /** * Manages the masks using the stencil buffer */ - maskManager: WebGLMaskManager; + maskManager: WebGLMaskManager; /** * Manages the filters */ - filterManager: WebGLFilterManager; + filterManager: WebGLFilterManager; /** * Manages the stencil buffer */ - stencilManager: WebGLStencilManager; + stencilManager: WebGLStencilManager; /** * Manages the blendModes */ - blendModeManager: WebGLBlendModeManager; - renderSession: RenderSession; - - initContext(): void; + blendModeManager: WebGLBlendModeManager; + renderSession: RenderSession; + + initContext(): void; /** * Renders the stage to its webGL view - * + * * @param stage the Stage element to be rendered */ - render(stage: DisplayObjectContainer): void; + render(stage: DisplayObjectContainer): void; /** * Renders a Display Object. - * + * * @param displayObject The DisplayObject to render * @param projection The projection * @param buffer a standard WebGL buffer */ - renderDisplayObject(displayObject: DisplayObject, projection: Point, buffer: WebGLBuffer): void; + renderDisplayObject(displayObject: DisplayObject, projection: Point, buffer: WebGLBuffer): void; /** * Resizes the webGL view to the specified width and height. - * + * * @param width the new width of the webGL view * @param height the new height of the webGL view */ - resize(width: number, height: number): void; + resize(width: number, height: number): void; /** * Updates and Creates a WebGL texture for the renderers context. - * + * * @param texture the texture to update * @return True if the texture was successfully bound, otherwise false. */ - updateTexture(texture: Texture): void; + updateTexture(texture: Texture): void; /** * Removes everything from the renderer (event listeners, spritebatch, etc...) */ - destroy(): void; + destroy(): void; /** * Maps Pixi blend modes to WebGL blend modes. */ - mapBlendModes(): void; + mapBlendModes(): void; /** * If Multi Texture support has been enabled, then calling this method will enable batching on the given * textures. The texture collection is an array of keys, that map to Phaser.Cache image entries. - * + * * The number of textures that can be batched is dependent on hardware. If you provide more textures * than can be batched by the GPU, then only those at the start of the array will be used. Generally * you shouldn't provide more than 16 textures to this method. You can check the hardware limit via the * `maxTextures` property. - * + * * You can also check the property `currentBatchedTextures` at any time, to see which textures are currently * being batched. - * + * * To stop all textures from being batched, call this method again with an empty array. - * + * * To change the textures being batched, call this method with a new array of image keys. The old ones * will all be purged out and no-longer batched, and the new ones enabled. - * + * * Note: Throws a warning if you haven't enabled Multiple Texture batching support in the Phaser Game config. - * + * * @param textureNameCollection An Array of Texture Cache keys to use for multi-texture batching. * @return An array containing the texture keys that were enabled for batching. */ - setTexturePriority(textureNameCollection: string[]): string[]; - - } - - export class WebGLShaderManager { - - maxAttibs: number; - attribState: any[]; - stack: any[]; - tempAttribState: any[]; - + setTexturePriority(textureNameCollection: string[]): string[]; + + } + + export class WebGLShaderManager { + + maxAttibs: number; + attribState: any[]; + stack: any[]; + tempAttribState: any[]; + /** * Destroys this object. */ - destroy(): void; + destroy(): void; /** * Takes the attributes given in parameters. - * + * * @param attribs attribs */ - setAttribs(attribs: ShaderAttribute[]): void; + setAttribs(attribs: ShaderAttribute[]): void; /** * Initialises the context and the properties. - * + * * @param gl the current WebGL drawing context */ - setContext(gl: WebGLRenderingContext): void; + setContext(gl: WebGLRenderingContext): void; /** * Sets the current shader. - * + * * @param shader */ - setShader(shader: IPixiShader): boolean; - - } - - export class WebGLStencilManager { - - stencilStack: any[]; - reverse: boolean; - count: number; - + setShader(shader: IPixiShader): boolean; + + } + + export class WebGLStencilManager { + + stencilStack: any[]; + reverse: boolean; + count: number; + /** * TODO this does not belong here! - * + * * @param graphics * @param webGLData * @param renderSession */ - bindGraphics(graphics: Phaser.Graphics, webGLData: any[], renderSession: RenderSession): void; + bindGraphics(graphics: Phaser.Graphics, webGLData: any[], renderSession: RenderSession): void; /** * Destroys the mask stack. */ - destroy(): void; + destroy(): void; /** - * - * + * + * * @param graphics * @param webGLData * @param renderSession */ - popStencil(graphics: Phaser.Graphics, webGLData: any[], renderSession: RenderSession): void; - pushStencil(graphics: Phaser.Graphics, webGLData: any[], renderSession: RenderSession): void; + popStencil(graphics: Phaser.Graphics, webGLData: any[], renderSession: RenderSession): void; + pushStencil(graphics: Phaser.Graphics, webGLData: any[], renderSession: RenderSession): void; /** * Sets the drawing context to the one given in parameter. - * + * * @param gl the current WebGL drawing context */ - setContext(gl: WebGLRenderingContext): void; - - } - - export class WebGLSpriteBatch { - - blendModes: number[]; + setContext(gl: WebGLRenderingContext): void; + + } + + export class WebGLSpriteBatch { + + blendModes: number[]; /** * View on the vertices as a Uint32Array */ - colors: number[]; - currentBatchSize: number; - currentBaseTexture: Texture; - defaultShader: AbstractFilter; - dirty: boolean; - drawing: boolean; + colors: number[]; + currentBatchSize: number; + currentBaseTexture: Texture; + defaultShader: AbstractFilter; + dirty: boolean; + drawing: boolean; /** * Holds the indices */ - indices: number[]; - lastIndexCount: number; + indices: number[]; + lastIndexCount: number; /** * View on the vertices as a Float32Array */ - positions: number[]; - textures: Texture[]; - shaders: IPixiShader[]; + positions: number[]; + textures: Texture[]; + shaders: IPixiShader[]; /** * The number of images in the SpriteBatch before it flushes */ - size: number; - sprites: any[]; + size: number; + sprites: any[]; /** * Holds the vertices */ - vertices: number[]; - vertSize: number; - + vertices: number[]; + vertSize: number; + /** - * - * + * + * * @param renderSession The RenderSession object */ - begin(renderSession: RenderSession): void; + begin(renderSession: RenderSession): void; /** * Destroys the SpriteBatch. */ - destroy(): void; - end(): void; + destroy(): void; + end(): void; /** * Renders the content and empties the current batch. */ - flush(shader?: IPixiShader): void; + flush(shader?: IPixiShader): void; /** - * - * + * + * * @param sprite the sprite to render when using this spritebatch * @param matrix Optional matrix. If provided the Display Object will be rendered using this matrix, otherwise it will use its worldTransform. */ - render(sprite: Sprite): void; + render(sprite: Sprite): void; /** - * - * + * + * * @param texture * @param size * @param startIndex */ - renderBatch(texture: Texture, size: number, startIndex: number): void; + renderBatch(texture: Texture, size: number, startIndex: number): void; /** * Renders a TilingSprite using the spriteBatch. - * + * * @param sprite the sprite to render */ - renderTilingSprite(sprite: TilingSprite): void; - setBlendMode(blendMode: blendModes): void; + renderTilingSprite(sprite: TilingSprite): void; + setBlendMode(blendMode: blendModes): void; /** - * - * + * + * * @param gl the current WebGL drawing context */ - setContext(gl: WebGLRenderingContext): void; - start(): void; - stop(): void; - - } - -} - -declare function requestAnimFrame(callback: Function): void; - -declare module PIXI.PolyK { - export function Triangulate(p: number[]): number[]; -} + setContext(gl: WebGLRenderingContext): void; + start(): void; + stop(): void; + + } + +} + +declare function requestAnimFrame(callback: Function): void; + +declare module PIXI.PolyK { + export function Triangulate(p: number[]): number[]; +}