From 5f130324c9837eee1d6da0f022e649e0ada77ea2 Mon Sep 17 00:00:00 2001 From: Richard Davey Date: Sat, 13 Apr 2013 13:28:35 +0100 Subject: [PATCH] Tidying up and adding gitignore for OS X --- .gitignore | 1 + Phaser/.gitignore | 4 +- Phaser/Phaser.csproj | 110 ----------------------------- Tests/.gitignore | 1 + Tests/assets/mp3/AlbumArtSmall.jpg | Bin 9225 -> 0 bytes Tests/assets/mp3/Folder.jpg | Bin 44517 -> 0 bytes build/phaser-06.min.js | 1 + 7 files changed, 6 insertions(+), 111 deletions(-) create mode 100644 .gitignore delete mode 100644 Phaser/Phaser.csproj delete mode 100644 Tests/assets/mp3/AlbumArtSmall.jpg delete mode 100644 Tests/assets/mp3/Folder.jpg create mode 100644 build/phaser-06.min.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..e43b0f988 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/Phaser/.gitignore b/Phaser/.gitignore index fd6b77a16..7c7d82040 100644 --- a/Phaser/.gitignore +++ b/Phaser/.gitignore @@ -23,9 +23,10 @@ Thumbs.db *.map *.orig *.js -!kiwi-lite.js +!phaser.js *.map *.config +.DS_Store [Bb]in [Dd]ebug*/ *.lib @@ -34,3 +35,4 @@ obj/ [Rr]elease*/ _ReSharper*/ [Tt]est[Rr]esult* + diff --git a/Phaser/Phaser.csproj b/Phaser/Phaser.csproj deleted file mode 100644 index d1fe6dc78..000000000 --- a/Phaser/Phaser.csproj +++ /dev/null @@ -1,110 +0,0 @@ - - - - Debug - {A90BE60F-CAEA-4747-904A-CDB097BA2459} - {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} - Library - bin - v4.5 - full - true - true - - - - - - - 10.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - - - Phaser - - - - - - - - True - True - 0 - / - http://localhost:51891/ - False - False - - - False - - - - - - ES5 - true - false - phaser.js - - - ES5 - false - true - phaser.js - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FullScreen.ts - - - - - - - - - cd $(ProjectDir) -copy $(ProjectDir)phaser.js ..\Tests\ - - \ No newline at end of file diff --git a/Tests/.gitignore b/Tests/.gitignore index 4052b88f1..cc08b6129 100644 --- a/Tests/.gitignore +++ b/Tests/.gitignore @@ -25,6 +25,7 @@ Thumbs.db *.map *.config *.sublime-workspace +.DS_Store launcher.html tests.html [Bb]in diff --git a/Tests/assets/mp3/AlbumArtSmall.jpg b/Tests/assets/mp3/AlbumArtSmall.jpg deleted file mode 100644 index eeb2d951979748f4ac063b398e1c1dbef98a2782..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9225 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 Bf*t?> diff --git a/Tests/assets/mp3/Folder.jpg b/Tests/assets/mp3/Folder.jpg deleted file mode 100644 index 272757862f6040b10f2d256b6b9a49c31bdfa0ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44517 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�-toF}wV%toN;_3^XMY)?baQ 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�JSS%er)!DxF!LFd@ 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 vs;k8b-epsilon};GameMath.prototype.fuzzyCeil=function(val,epsilon){if(typeof epsilon==="undefined"){epsilon=0.0001}return Math.ceil(val-epsilon)};GameMath.prototype.fuzzyFloor=function(val,epsilon){if(typeof epsilon==="undefined"){epsilon=0.0001}return Math.floor(val+epsilon)};GameMath.prototype.average=function(){var args=[];for(var _i=0;_i<(arguments.length-0);_i++){args[_i]=arguments[_i+0]}var avg=0;for(var i=0;i0)?Math.floor(n):Math.ceil(n)};GameMath.prototype.shear=function(n){return n%1};GameMath.prototype.wrap=function(val,max,min){if(typeof min==="undefined"){min=0}val-=min;max-=min;if(max==0){return min}val%=max;val+=min;while(valrd/2){a1+=rd*2}if(a2<-rd/2&&a1>rd/2){a2+=rd*2}return a2-a1};GameMath.prototype.normalizeAngleToAnother=function(dep,ind,radians){if(typeof radians==="undefined"){radians=true}return ind+this.nearestAngleBetween(ind,dep,radians)};GameMath.prototype.normalizeAngleAfterAnother=function(dep,ind,radians){if(typeof radians==="undefined"){radians=true}dep=this.normalizeAngle(dep-ind,radians);return ind+dep};GameMath.prototype.normalizeAngleBeforeAnother=function(dep,ind,radians){if(typeof radians==="undefined"){radians=true}dep=this.normalizeAngle(ind-dep,radians);return ind-dep};GameMath.prototype.interpolateAngles=function(a1,a2,weight,radians,ease){if(typeof radians==="undefined"){radians=true}if(typeof ease==="undefined"){ease=null}a1=this.normalizeAngle(a1,radians);a2=this.normalizeAngleToAnother(a2,a1,radians);return(typeof ease==="function")?ease(weight,a1,a2-a1,1):this.interpolateFloat(a1,a2,weight)};GameMath.prototype.logBaseOf=function(value,base){return Math.log(value)/Math.log(base)};GameMath.prototype.GCD=function(m,n){var r;m=Math.abs(m);n=Math.abs(n);if(m=100){return true}else{if(Math.random()*100>=chance){return false}else{return true}}}};GameMath.prototype.maxAdd=function(value,amount,max){value+=amount;if(value>max){value=max}return value};GameMath.prototype.minSub=function(value,amount,min){value-=amount;if(value0.5)?1:-1};GameMath.prototype.isOdd=function(n){if(n&1){return true}else{return false}};GameMath.prototype.isEven=function(n){if(n&1){return false}else{return true}};GameMath.prototype.wrapAngle=function(angle){var result=angle;if(angle>=-180&&angle<=180){return angle}result=(angle+180)%360;if(result<0){result+=360}return result-180};GameMath.prototype.angleLimit=function(angle,min,max){var result=angle;if(angle>max){result=max}else{if(angle1){return this.linear(v[m],v[m-1],m-f)}return this.linear(v[i],v[i+1>m?m:i+1],f-i)};GameMath.prototype.bezierInterpolation=function(v,k){var b=0;var n=v.length-1;for(var i=0;i<=n;i++){b+=Math.pow(1-k,n-i)*Math.pow(k,i)*v[i]*this.bernstein(n,i)}return b};GameMath.prototype.catmullRomInterpolation=function(v,k){var m=v.length-1;var f=m*k;var i=Math.floor(f);if(v[0]===v[m]){if(k<0){i=Math.floor(f=m*(1+k))}return this.catmullRom(v[(i-1+m)%m],v[i],v[(i+1)%m],v[(i+2)%m],f-i)}else{if(k<0){return v[0]-(this.catmullRom(v[0],v[0],v[1],v[1],-f)-v[0])}if(k>1){return v[m]-(this.catmullRom(v[m],v[m],v[m-1],v[m-1],f-m)-v[m])}return this.catmullRom(v[i?i-1:0],v[i],v[m0){Velocity=Velocity-drag}else{if(Velocity+drag<0){Velocity+=drag}else{Velocity=0}}}}if((Velocity!=0)&&(Max!=10000)){if(Velocity>Max){Velocity=Max}else{if(Velocity<-Max){Velocity=-Max}}}return Velocity};GameMath.prototype.velocityFromAngle=function(angle,speed){var a=this.degreesToRadians(angle);return new Point((Math.cos(a)*speed),(Math.sin(a)*speed))};GameMath.prototype.random=function(){return this.globalSeed=this.srand(this.globalSeed)};GameMath.prototype.srand=function(Seed){return((69621*(Seed*2147483647))%2147483647)/2147483647};GameMath.prototype.getRandom=function(Objects,StartIndex,Length){if(typeof StartIndex==="undefined"){StartIndex=0}if(typeof Length==="undefined"){Length=0}if(Objects!=null){var l=Length;if((l==0)||(l>Objects.length-StartIndex)){l=Objects.length-StartIndex}if(l>0){return Objects[StartIndex+Math.floor(Math.random()*l)]}}return null};GameMath.prototype.floor=function(Value){var n=Value|0;return(Value>0)?(n):((n!=Value)?(n-1):(n))};GameMath.prototype.ceil=function(Value){var n=Value|0;return(Value>0)?((n!=Value)?(n+1):(n)):(n)};return GameMath})();var Point=(function(){function Point(x,y){if(typeof x==="undefined"){x=0}if(typeof y==="undefined"){y=0}this.setTo(x,y)}Point.prototype.add=function(toAdd,output){if(typeof output==="undefined"){output=new Point()}return output.setTo(this.x+toAdd.x,this.y+toAdd.y)};Point.prototype.addTo=function(x,y){if(typeof x==="undefined"){x=0}if(typeof y==="undefined"){y=0}return this.setTo(this.x+x,this.y+y)};Point.prototype.subtractFrom=function(x,y){if(typeof x==="undefined"){x=0}if(typeof y==="undefined"){y=0}return this.setTo(this.x-x,this.y-y)};Point.prototype.invert=function(){return this.setTo(this.y,this.x)};Point.prototype.clamp=function(min,max){this.clampX(min,max);this.clampY(min,max);return this};Point.prototype.clampX=function(min,max){this.x=Math.max(Math.min(this.x,max),min);return this};Point.prototype.clampY=function(min,max){this.x=Math.max(Math.min(this.x,max),min);this.y=Math.max(Math.min(this.y,max),min);return this};Point.prototype.clone=function(output){if(typeof output==="undefined"){output=new Point()}return output.setTo(this.x,this.y)};Point.prototype.copyFrom=function(source){return this.setTo(source.x,source.y)};Point.prototype.copyTo=function(target){return target.setTo(this.x,this.y)};Point.prototype.distanceTo=function(target,round){if(typeof round==="undefined"){round=false}var dx=this.x-target.x;var dy=this.y-target.y;if(round===true){return Math.round(Math.sqrt(dx*dx+dy*dy))}else{return Math.sqrt(dx*dx+dy*dy)}};Point.distanceBetween=function distanceBetween(pointA,pointB,round){if(typeof round==="undefined"){round=false}var dx=pointA.x-pointB.x;var dy=pointA.y-pointB.y;if(round===true){return Math.round(Math.sqrt(dx*dx+dy*dy))}else{return Math.sqrt(dx*dx+dy*dy)}};Point.prototype.distanceCompare=function(target,distance){if(this.distanceTo(target)>=distance){return true}else{return false}};Point.prototype.equals=function(toCompare){if(this.x===toCompare.x&&this.y===toCompare.y){return true}else{return false}};Point.prototype.interpolate=function(pointA,pointB,f){};Point.prototype.offset=function(dx,dy){this.x+=dx;this.y+=dy;return this};Point.prototype.polar=function(length,angle){};Point.prototype.setTo=function(x,y){this.x=x;this.y=y;return this};Point.prototype.subtract=function(point,output){if(typeof output==="undefined"){output=new Point()}return output.setTo(this.x-point.x,this.y-point.y)};Point.prototype.toString=function(){return"[{Point (x="+this.x+" y="+this.y+")}]"};return Point})();var Rectangle=(function(){function Rectangle(x,y,width,height){if(typeof x==="undefined"){x=0}if(typeof y==="undefined"){y=0}if(typeof width==="undefined"){width=0}if(typeof height==="undefined"){height=0}this.x=0;this.y=0;this.width=0;this.height=0;this.setTo(x,y,width,height)}Object.defineProperty(Rectangle.prototype,"halfWidth",{get:function(){return Math.round(this.width/2)},enumerable:true,configurable:true});Object.defineProperty(Rectangle.prototype,"halfHeight",{get:function(){return Math.round(this.height/2)},enumerable:true,configurable:true});Object.defineProperty(Rectangle.prototype,"bottom",{get:function(){return this.y+this.height},set:function(value){if(value=this.x&&x<=this.right&&y>=this.y&&y<=this.bottom){return true}return false};Rectangle.prototype.containsPoint=function(point){return this.contains(point.x,point.y)};Rectangle.prototype.containsRect=function(rect){if(rect.volume>this.volume){return false}if(rect.x>=this.x&&rect.y>=this.y&&rect.right<=this.right&&rect.bottom<=this.bottom){return true}return false};Rectangle.prototype.copyFrom=function(source){return this.setTo(source.x,source.y,source.width,source.height)};Rectangle.prototype.copyTo=function(target){return target.copyFrom(this)};Rectangle.prototype.equals=function(toCompare){if(this.x===toCompare.x&&this.y===toCompare.y&&this.width===toCompare.width&&this.height===toCompare.height){return true}return false};Rectangle.prototype.inflate=function(dx,dy){if(!isNaN(dx)&&!isNaN(dy)){this.x-=dx;this.width+=2*dx;this.y-=dy;this.height+=2*dy}return this};Rectangle.prototype.inflatePoint=function(point){return this.inflate(point.x,point.y)};Rectangle.prototype.intersection=function(toIntersect,output){if(typeof output==="undefined"){output=new Rectangle()}if(this.intersects(toIntersect)===true){output.x=Math.max(toIntersect.x,this.x);output.y=Math.max(toIntersect.y,this.y);output.width=Math.min(toIntersect.right,this.right)-output.x;output.height=Math.min(toIntersect.bottom,this.bottom)-output.y}return output};Rectangle.prototype.intersects=function(toIntersect){if(toIntersect.x>=this.right){return false}if(toIntersect.right<=this.x){return false}if(toIntersect.bottom<=this.y){return false}if(toIntersect.y>=this.bottom){return false}return true};Rectangle.prototype.overlap=function(rect){return(rect.x+rect.width>this.x)&&(rect.xthis.y)&&(rect.y0){this.width=width}if(height>0){this.height=height}}return this};Rectangle.prototype.union=function(toUnion,output){if(typeof output==="undefined"){output=new Rectangle()}return output.setTo(Math.min(toUnion.x,this.x),Math.min(toUnion.y,this.y),Math.max(toUnion.right,this.right),Math.max(toUnion.bottom,this.bottom))};Rectangle.prototype.toString=function(){return"[{Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+" empty="+this.isEmpty+")}]"};return Rectangle})();var Camera=(function(){function Camera(game,id,x,y,width,height){this._clip=false;this._rotation=0;this._target=null;this._sx=0;this._sy=0;this._fxFlashComplete=null;this._fxFlashDuration=0;this._fxFlashAlpha=0;this._fxFadeComplete=null;this._fxFadeDuration=0;this._fxFadeAlpha=0;this._fxShakeIntensity=0;this._fxShakeDuration=0;this._fxShakeComplete=null;this._fxShakeOffset=new Point(0,0);this._fxShakeDirection=0;this._fxShakePrevX=0;this._fxShakePrevY=0;this.scale=new Point(1,1);this.scroll=new Point(0,0);this.bounds=null;this.deadzone=null;this.showBorder=false;this.borderColor="rgb(255,255,255)";this.opaque=true;this._bgColor="rgb(0,0,0)";this._bgTextureRepeat="repeat";this.showShadow=false;this.shadowColor="rgb(0,0,0)";this.shadowBlur=10;this.shadowOffset=new Point(4,4);this.visible=true;this.alpha=1;this._game=game;this.ID=id;this._stageX=x;this._stageY=y;this.worldView=new Rectangle(0,0,width,height);this.checkClip()}Camera.STYLE_LOCKON=0;Camera.STYLE_PLATFORMER=1;Camera.STYLE_TOPDOWN=2;Camera.STYLE_TOPDOWN_TIGHT=3;Camera.SHAKE_BOTH_AXES=0;Camera.SHAKE_HORIZONTAL_ONLY=1;Camera.SHAKE_VERTICAL_ONLY=2;Camera.prototype.flash=function(color,duration,onComplete,force){if(typeof color==="undefined"){color=16777215}if(typeof duration==="undefined"){duration=1}if(typeof onComplete==="undefined"){onComplete=null}if(typeof force==="undefined"){force=false}if(force===false&&this._fxFlashAlpha>0){return}if(duration<=0){duration=1}var red=color>>16&255;var green=color>>8&255;var blue=color&255;this._fxFlashColor="rgba("+red+","+green+","+blue+",";this._fxFlashDuration=duration;this._fxFlashAlpha=1;this._fxFlashComplete=onComplete};Camera.prototype.fade=function(color,duration,onComplete,force){if(typeof color==="undefined"){color=0}if(typeof duration==="undefined"){duration=1}if(typeof onComplete==="undefined"){onComplete=null}if(typeof force==="undefined"){force=false}if(force===false&&this._fxFadeAlpha>0){return}if(duration<=0){duration=1}var red=color>>16&255;var green=color>>8&255;var blue=color&255;this._fxFadeColor="rgba("+red+","+green+","+blue+",";this._fxFadeDuration=duration;this._fxFadeAlpha=0.01;this._fxFadeComplete=onComplete};Camera.prototype.shake=function(intensity,duration,onComplete,force,direction){if(typeof intensity==="undefined"){intensity=0.05}if(typeof duration==="undefined"){duration=0.5}if(typeof onComplete==="undefined"){onComplete=null}if(typeof force==="undefined"){force=true}if(typeof direction==="undefined"){direction=Camera.SHAKE_BOTH_AXES}if(!force&&((this._fxShakeOffset.x!=0)||(this._fxShakeOffset.y!=0))){return}if(this._fxShakeOffset.x==0&&this._fxShakeOffset.y==0){this._fxShakePrevX=this._stageX;this._fxShakePrevY=this._stageY}this._fxShakeIntensity=intensity;this._fxShakeDuration=duration;this._fxShakeComplete=onComplete;this._fxShakeDirection=direction;this._fxShakeOffset.setTo(0,0)};Camera.prototype.stopFX=function(){this._fxFlashAlpha=0;this._fxFadeAlpha=0;if(this._fxShakeDuration!==0){this._fxShakeDuration=0;this._fxShakeOffset.setTo(0,0);this._stageX=this._fxShakePrevX;this._stageY=this._fxShakePrevY}};Camera.prototype.follow=function(target,style){if(typeof style==="undefined"){style=Camera.STYLE_LOCKON}this._target=target;var helper;switch(style){case Camera.STYLE_PLATFORMER:var w=this.width/8;var h=this.height/3;this.deadzone=new Rectangle((this.width-w)/2,(this.height-h)/2-h*0.25,w,h);break;case Camera.STYLE_TOPDOWN:helper=Math.max(this.width,this.height)/4;this.deadzone=new Rectangle((this.width-helper)/2,(this.height-helper)/2,helper,helper);break;case Camera.STYLE_TOPDOWN_TIGHT:helper=Math.max(this.width,this.height)/8;this.deadzone=new Rectangle((this.width-helper)/2,(this.height-helper)/2,helper,helper);break;case Camera.STYLE_LOCKON:default:this.deadzone=null;break}};Camera.prototype.focusOnXY=function(x,y){x+=(x>0)?1e-7:-1e-7;y+=(y>0)?1e-7:-1e-7;this.scroll.x=Math.round(x-this.worldView.halfWidth);this.scroll.y=Math.round(y-this.worldView.halfHeight)};Camera.prototype.focusOn=function(point){point.x+=(point.x>0)?1e-7:-1e-7;point.y+=(point.y>0)?1e-7:-1e-7;this.scroll.x=Math.round(point.x-this.worldView.halfWidth);this.scroll.y=Math.round(point.y-this.worldView.halfHeight)};Camera.prototype.setBounds=function(X,Y,Width,Height,UpdateWorld){if(typeof X==="undefined"){X=0}if(typeof Y==="undefined"){Y=0}if(typeof Width==="undefined"){Width=0}if(typeof Height==="undefined"){Height=0}if(typeof UpdateWorld==="undefined"){UpdateWorld=false}if(this.bounds==null){this.bounds=new Rectangle()}this.bounds.setTo(X,Y,Width,Height);this.update()};Camera.prototype.update=function(){if(this._target!==null){if(this.deadzone==null){this.focusOnXY(this._target.x+this._target.origin.x,this._target.y+this._target.origin.y)}else{var edge;var targetX=this._target.x+((this._target.x>0)?1e-7:-1e-7);var targetY=this._target.y+((this._target.y>0)?1e-7:-1e-7);edge=targetX-this.deadzone.x;if(this.scroll.x>edge){this.scroll.x=edge}edge=targetX+this._target.width-this.deadzone.x-this.deadzone.width;if(this.scroll.xedge){this.scroll.y=edge}edge=targetY+this._target.height-this.deadzone.y-this.deadzone.height;if(this.scroll.ythis.bounds.right-this.width){this.scroll.x=this.bounds.right-this.width}if(this.scroll.ythis.bounds.bottom-this.height){this.scroll.y=this.bounds.bottom-this.height}}this.worldView.x=this.scroll.x;this.worldView.y=this.scroll.y;if(this._fxFlashAlpha>0){this._fxFlashAlpha-=this._game.time.elapsed/this._fxFlashDuration;this._fxFlashAlpha=this._game.math.roundTo(this._fxFlashAlpha,-2);if(this._fxFlashAlpha<=0){this._fxFlashAlpha=0;if(this._fxFlashComplete!==null){this._fxFlashComplete()}}}if(this._fxFadeAlpha>0){this._fxFadeAlpha+=this._game.time.elapsed/this._fxFadeDuration;this._fxFadeAlpha=this._game.math.roundTo(this._fxFadeAlpha,-2);if(this._fxFadeAlpha>=1){this._fxFadeAlpha=1;if(this._fxFadeComplete!==null){this._fxFadeComplete()}}}if(this._fxShakeDuration>0){this._fxShakeDuration-=this._game.time.elapsed;this._fxShakeDuration=this._game.math.roundTo(this._fxShakeDuration,-2);if(this._fxShakeDuration<=0){this._fxShakeDuration=0;this._fxShakeOffset.setTo(0,0);this._stageX=this._fxShakePrevX;this._stageY=this._fxShakePrevY;if(this._fxShakeComplete!=null){this._fxShakeComplete()}}else{if((this._fxShakeDirection==Camera.SHAKE_BOTH_AXES)||(this._fxShakeDirection==Camera.SHAKE_HORIZONTAL_ONLY)){this._fxShakeOffset.x=(this._game.math.random()*this._fxShakeIntensity*this.worldView.width*2-this._fxShakeIntensity*this.worldView.width)}if((this._fxShakeDirection==Camera.SHAKE_BOTH_AXES)||(this._fxShakeDirection==Camera.SHAKE_VERTICAL_ONLY)){this._fxShakeOffset.y=(this._game.math.random()*this._fxShakeIntensity*this.worldView.height*2-this._fxShakeIntensity*this.worldView.height)}}}};Camera.prototype.render=function(){if(this.visible===false&&this.alpha<0.1){return}if((this._fxShakeOffset.x!=0)||(this._fxShakeOffset.y!=0)){this._stageX=this._fxShakePrevX+(this.worldView.halfWidth)+this._fxShakeOffset.x;this._stageY=this._fxShakePrevY+(this.worldView.halfHeight)+this._fxShakeOffset.y}this._game.stage.context.save();if(this.alpha!==1){this._game.stage.context.globalAlpha=this.alpha}this._sx=this._stageX;this._sy=this._stageY;if(this.showShadow){this._game.stage.context.shadowColor=this.shadowColor;this._game.stage.context.shadowBlur=this.shadowBlur;this._game.stage.context.shadowOffsetX=this.shadowOffset.x;this._game.stage.context.shadowOffsetY=this.shadowOffset.y}if(this.scale.x!==1||this.scale.y!==1){this._game.stage.context.scale(this.scale.x,this.scale.y);this._sx=this._sx/this.scale.x;this._sy=this._sy/this.scale.y}if(this._rotation!==0){this._game.stage.context.translate(this._sx+this.worldView.halfWidth,this._sy+this.worldView.halfHeight);this._game.stage.context.rotate(this._rotation*(Math.PI/180));this._game.stage.context.translate(-(this._sx+this.worldView.halfWidth),-(this._sy+this.worldView.halfHeight))}if(this.opaque==true){if(this._bgTexture){this._game.stage.context.fillStyle=this._bgTexture;this._game.stage.context.fillRect(this._sx,this._sy,this.worldView.width,this.worldView.height)}else{this._game.stage.context.fillStyle=this._bgColor;this._game.stage.context.fillRect(this._sx,this._sy,this.worldView.width,this.worldView.height)}}if(this.showShadow){this._game.stage.context.shadowBlur=0;this._game.stage.context.shadowOffsetX=0;this._game.stage.context.shadowOffsetY=0}if(this._clip){this._game.stage.context.beginPath();this._game.stage.context.rect(this._sx,this._sy,this.worldView.width,this.worldView.height);this._game.stage.context.closePath();this._game.stage.context.clip()}this._game.world.group.render(this,this._sx,this._sy);if(this.showBorder){this._game.stage.context.strokeStyle=this.borderColor;this._game.stage.context.lineWidth=1;this._game.stage.context.rect(this._sx,this._sy,this.worldView.width,this.worldView.height);this._game.stage.context.stroke()}if(this._fxFlashAlpha>0){this._game.stage.context.fillStyle=this._fxFlashColor+this._fxFlashAlpha+")";this._game.stage.context.fillRect(this._sx,this._sy,this.worldView.width,this.worldView.height)}if(this._fxFadeAlpha>0){this._game.stage.context.fillStyle=this._fxFadeColor+this._fxFadeAlpha+")";this._game.stage.context.fillRect(this._sx,this._sy,this.worldView.width,this.worldView.height)}if(this.scale.x!==1||this.scale.y!==1){this._game.stage.context.scale(1,1)}if(this._rotation!==0||this._clip){this._game.stage.context.translate(0,0)}this._game.stage.context.restore();if(this.alpha!==1){this._game.stage.context.globalAlpha=1}};Object.defineProperty(Camera.prototype,"backgroundColor",{get:function(){return this._bgColor},set:function(color){this._bgColor=color},enumerable:true,configurable:true});Camera.prototype.setTexture=function(key,repeat){if(typeof repeat==="undefined"){repeat="repeat"}this._bgTexture=this._game.stage.context.createPattern(this._game.cache.getImage(key),repeat);this._bgTextureRepeat=repeat};Camera.prototype.setPosition=function(x,y){this._stageX=x;this._stageY=y;this.checkClip()};Camera.prototype.setSize=function(width,height){this.worldView.width=width;this.worldView.height=height;this.checkClip()};Camera.prototype.renderDebugInfo=function(x,y,color){if(typeof color==="undefined"){color="rgb(255,255,255)"}this._game.stage.context.fillStyle=color;this._game.stage.context.fillText("Camera ID: "+this.ID+" ("+this.worldView.width+" x "+this.worldView.height+")",x,y);this._game.stage.context.fillText("X: "+this._stageX+" Y: "+this._stageY+" Rotation: "+this._rotation,x,y+14);this._game.stage.context.fillText("World X: "+this.scroll.x.toFixed(1)+" World Y: "+this.scroll.y.toFixed(1),x,y+28);if(this.bounds){this._game.stage.context.fillText("Bounds: "+this.bounds.width+" x "+this.bounds.height,x,y+56)}};Object.defineProperty(Camera.prototype,"x",{get:function(){return this._stageX},set:function(value){this._stageX=value;this.checkClip()},enumerable:true,configurable:true});Object.defineProperty(Camera.prototype,"y",{get:function(){return this._stageY},set:function(value){this._stageY=value;this.checkClip()},enumerable:true,configurable:true});Object.defineProperty(Camera.prototype,"width",{get:function(){return this.worldView.width},set:function(value){this.worldView.width=value;this.checkClip()},enumerable:true,configurable:true});Object.defineProperty(Camera.prototype,"height",{get:function(){return this.worldView.height},set:function(value){this.worldView.height=value;this.checkClip()},enumerable:true,configurable:true});Object.defineProperty(Camera.prototype,"rotation",{get:function(){return this._rotation},set:function(value){this._rotation=this._game.math.wrap(value,360,0)},enumerable:true,configurable:true});Camera.prototype.checkClip=function(){if(this._stageX!==0||this._stageY!==0||this.worldView.widththis.x)&&(ObjectOrGroup.xthis.y)&&(ObjectOrGroup.ythis._point.x)&&(objectScreenPos.xthis._point.y)&&(objectScreenPos.yX)&&(ObjectOrGroup.xY)&&(ObjectOrGroup.y0)?1e-7:-1e-7;this._point.y+=(this._point.y>0)?1e-7:-1e-7;return(objectScreenPos.x+ObjectOrGroup.width>this._point.x)&&(objectScreenPos.xthis._point.y)&&(objectScreenPos.ythis.x)&&(point.xthis.y)&&(point.ythis._point.x)&&(Xthis._point.y)&&(Y0)&&(this._point.x0)&&(this._point.y0)?1e-7:-1e-7;point.y+=(point.y>0)?1e-7:-1e-7;return point};Object.defineProperty(GameObject.prototype,"solid",{get:function(){return(this.allowCollisions&GameObject.ANY)>GameObject.NONE},set:function(Solid){if(Solid){this.allowCollisions=GameObject.ANY}else{this.allowCollisions=GameObject.NONE}},enumerable:true,configurable:true});GameObject.prototype.getMidpoint=function(point){if(typeof point==="undefined"){point=null}if(point==null){point=new Point()}point.x=this.x+this.width*0.5;point.y=this.y+this.height*0.5;return point};GameObject.prototype.reset=function(X,Y){this.revive();this.touching=GameObject.NONE;this.wasTouching=GameObject.NONE;this.x=X;this.y=Y;this.last.x=X;this.last.y=Y;this.velocity.x=0;this.velocity.y=0};GameObject.prototype.isTouching=function(Direction){return(this.touching&Direction)>GameObject.NONE};GameObject.prototype.justTouched=function(Direction){return((this.touching&Direction)>GameObject.NONE)&&((this.wasTouching&Direction)<=GameObject.NONE)};GameObject.prototype.hurt=function(Damage){this.health=this.health-Damage;if(this.health<=0){this.kill()}};GameObject.prototype.destroy=function(){};Object.defineProperty(GameObject.prototype,"x",{get:function(){return this.bounds.x},set:function(value){this.bounds.x=value},enumerable:true,configurable:true});Object.defineProperty(GameObject.prototype,"y",{get:function(){return this.bounds.y},set:function(value){this.bounds.y=value},enumerable:true,configurable:true});Object.defineProperty(GameObject.prototype,"rotation",{get:function(){return this._angle},set:function(value){this._angle=this._game.math.wrap(value,360,0)},enumerable:true,configurable:true});Object.defineProperty(GameObject.prototype,"angle",{get:function(){return this._angle},set:function(value){this._angle=this._game.math.wrap(value,360,0)},enumerable:true,configurable:true});Object.defineProperty(GameObject.prototype,"width",{get:function(){return this.bounds.width},enumerable:true,configurable:true});Object.defineProperty(GameObject.prototype,"height",{get:function(){return this.bounds.height},enumerable:true,configurable:true});return GameObject})(Basic);var Sprite=(function(_super){__extends(Sprite,_super);function Sprite(game,x,y,key){if(typeof x==="undefined"){x=0}if(typeof y==="undefined"){y=0}if(typeof key==="undefined"){key=null}_super.call(this,game,x,y);this._sx=0;this._sy=0;this._sw=0;this._sh=0;this._dx=0;this._dy=0;this._dw=0;this._dh=0;this._texture=null;this.animations=new Animations(this._game,this);if(key!==null){this.loadGraphic(key)}else{this.bounds.width=16;this.bounds.height=16}}Sprite.prototype.loadGraphic=function(key){if(this._game.cache.isSpriteSheet(key)==false){this._texture=this._game.cache.getImage(key);this.bounds.width=this._texture.width;this.bounds.height=this._texture.height}else{this._texture=this._game.cache.getImage(key);this.animations.loadFrameData(this._game.cache.getFrameData(key))}return this};Sprite.prototype.makeGraphic=function(width,height,color){if(typeof color==="undefined"){color=4294967295}this._texture=null;this.width=width;this.height=height;return this};Sprite.prototype.inCamera=function(camera){if(this.scrollFactor.x!==1||this.scrollFactor.y!==1){this._dx=this.bounds.x-(camera.x*this.scrollFactor.x);this._dy=this.bounds.y-(camera.y*this.scrollFactor.x);this._dw=this.bounds.width*this.scale.x;this._dh=this.bounds.height*this.scale.y;return(camera.right>this._dx)&&(camera.xthis._dy)&&(camera.y-1){this._game.stage.context.globalAlpha=globalAlpha}return true};Sprite.prototype.renderDebugInfo=function(x,y,color){if(typeof color==="undefined"){color="rgb(255,255,255)"}this._game.stage.context.fillStyle=color;this._game.stage.context.fillText("Sprite: "+this.name+" ("+this.bounds.width+" x "+this.bounds.height+")",x,y);this._game.stage.context.fillText("x: "+this.bounds.x.toFixed(1)+" y: "+this.bounds.y.toFixed(1)+" rotation: "+this.angle.toFixed(1),x,y+14);this._game.stage.context.fillText("dx: "+this._dx.toFixed(1)+" dy: "+this._dy.toFixed(1)+" dw: "+this._dw.toFixed(1)+" dh: "+this._dh.toFixed(1),x,y+28);this._game.stage.context.fillText("sx: "+this._sx.toFixed(1)+" sy: "+this._sy.toFixed(1)+" sw: "+this._sw.toFixed(1)+" sh: "+this._sh.toFixed(1),x,y+42)};return Sprite})(GameObject);var Group=(function(_super){__extends(Group,_super);function Group(game,MaxSize){if(typeof MaxSize==="undefined"){MaxSize=0}_super.call(this,game);this.isGroup=true;this.members=[];this.length=0;this._maxSize=MaxSize;this._marker=0;this._sortIndex=null}Group.ASCENDING=-1;Group.DESCENDING=1;Group.prototype.destroy=function(){if(this.members!=null){var basic;var i=0;while(i=this._maxSize){this._marker=0}if((this._maxSize==0)||(this.members==null)||(this._maxSize>=this.members.length)){return}var basic;var i=this._maxSize;var l=this.members.length;while(i=0){return Object}var i=0;var l=this.members.length;while(i=this.length){this.length=i+1}return Object}i++}if(this._maxSize>0){if(this.members.length>=this._maxSize){return Object}else{if(this.members.length*2<=this._maxSize){this.members.length*=2}else{this.members.length=this._maxSize}}}else{this.members.length*=2}this.members[i]=Object;this.length=i+1;return Object};Group.prototype.recycle=function(ObjectClass){if(typeof ObjectClass==="undefined"){ObjectClass=null}var basic;if(this._maxSize>0){if(this.length=this._maxSize){this._marker=0}return basic}}else{basic=this.getFirstAvailable(ObjectClass);if(basic!=null){return basic}if(ObjectClass==null){return null}return this.add(new ObjectClass())}};Group.prototype.remove=function(Object,Splice){if(typeof Splice==="undefined"){Splice=false}var index=this.members.indexOf(Object);if((index<0)||(index>=this.members.length)){return null}if(Splice){this.members.splice(index,1);this.length--}else{this.members[index]=null}return Object};Group.prototype.replace=function(OldObject,NewObject){var index=this.members.indexOf(OldObject);if((index<0)||(index>=this.members.length)){return null}this.members[index]=NewObject;return NewObject};Group.prototype.sort=function(Index,Order){if(typeof Index==="undefined"){Index="y"}if(typeof Order==="undefined"){Order=Group.ASCENDING}this._sortIndex=Index;this._sortOrder=Order;this.members.sort(this.sortHandler)};Group.prototype.setAll=function(VariableName,Value,Recurse){if(typeof Recurse==="undefined"){Recurse=true}var basic;var i=0;while(iObj2[this._sortIndex]){return -this._sortOrder}}return 0};return Group})(Basic);var Particle=(function(_super){__extends(Particle,_super);function Particle(game){_super.call(this,game);this.lifespan=0;this.friction=500}Particle.prototype.update=function(){if(this.lifespan<=0){return}this.lifespan-=this._game.time.elapsed;if(this.lifespan<=0){this.kill()}if(this.touching){if(this.angularVelocity!=0){this.angularVelocity=-this.angularVelocity}}if(this.acceleration.y>0){if(this.touching&GameObject.FLOOR){this.drag.x=this.friction;if(!(this.wasTouching&GameObject.FLOOR)){if(this.velocity.y<-this.elasticity*10){if(this.angularVelocity!=0){this.angularVelocity*=-this.elasticity}}else{this.velocity.y=0;this.angularVelocity=0}}}else{this.drag.x=0}}};Particle.prototype.onEmit=function(){};return Particle})(Sprite);var Emitter=(function(_super){__extends(Emitter,_super);function Emitter(game,X,Y,Size){if(typeof X==="undefined"){X=0}if(typeof Y==="undefined"){Y=0}if(typeof Size==="undefined"){Size=0}_super.call(this,game,Size);this.x=X;this.y=Y;this.width=0;this.height=0;this.minParticleSpeed=new Point(-100,-100);this.maxParticleSpeed=new Point(100,100);this.minRotation=-360;this.maxRotation=360;this.gravity=0;this.particleClass=null;this.particleDrag=new Point();this.frequency=0.1;this.lifespan=3;this.bounce=0;this._quantity=0;this._counter=0;this._explode=true;this.on=false;this._point=new Point()}Emitter.prototype.destroy=function(){this.minParticleSpeed=null;this.maxParticleSpeed=null;this.particleDrag=null;this.particleClass=null;this._point=null;_super.prototype.destroy.call(this)};Emitter.prototype.makeParticles=function(Graphics,Quantity,BakedRotations,Multiple,Collide){if(typeof Quantity==="undefined"){Quantity=50}if(typeof BakedRotations==="undefined"){BakedRotations=16}if(typeof Multiple==="undefined"){Multiple=false}if(typeof Collide==="undefined"){Collide=0.8}this.maxSize=Quantity;var totalFrames=1;var randomFrame;var particle;var i=0;while(i0){particle.width*=Collide;particle.height*=Collide}else{particle.allowCollisions=GameObject.NONE}particle.exists=false;this.add(particle);i++}return this};Emitter.prototype.update=function(){if(this.on){if(this._explode){this.on=false;var i=0;var l=this._quantity;if((l<=0)||(l>this.length)){l=this.length}while(i0)&&(this._timer>this.frequency)&&this.on){this._timer-=this.frequency;this.emitParticle();if((this._quantity>0)&&(++this._counter>=this._quantity)){this.on=false;this._quantity=0}}}}_super.prototype.update.call(this)};Emitter.prototype.kill=function(){this.on=false;_super.prototype.kill.call(this)};Emitter.prototype.start=function(Explode,Lifespan,Frequency,Quantity){if(typeof Explode==="undefined"){Explode=true}if(typeof Lifespan==="undefined"){Lifespan=0}if(typeof Frequency==="undefined"){Frequency=0.1}if(typeof Quantity==="undefined"){Quantity=0}this.revive();this.visible=true;this.on=true;this._explode=Explode;this.lifespan=Lifespan;this.frequency=Frequency;this._quantity+=Quantity;this._counter=0;this._timer=0};Emitter.prototype.emitParticle=function(){var particle=this.recycle(Particle);particle.lifespan=this.lifespan;particle.elasticity=this.bounce;particle.reset(this.x-(particle.width>>1)+this._game.math.random()*this.width,this.y-(particle.height>>1)+this._game.math.random()*this.height);particle.visible=true;if(this.minParticleSpeed.x!=this.maxParticleSpeed.x){particle.velocity.x=this.minParticleSpeed.x+this._game.math.random()*(this.maxParticleSpeed.x-this.minParticleSpeed.x)}else{particle.velocity.x=this.minParticleSpeed.x}if(this.minParticleSpeed.y!=this.maxParticleSpeed.y){particle.velocity.y=this.minParticleSpeed.y+this._game.math.random()*(this.maxParticleSpeed.y-this.minParticleSpeed.y)}else{particle.velocity.y=this.minParticleSpeed.y}particle.acceleration.y=this.gravity;if(this.minRotation!=this.maxRotation){particle.angularVelocity=this.minRotation+this._game.math.random()*(this.maxRotation-this.minRotation)}else{particle.angularVelocity=this.minRotation}if(particle.angularVelocity!=0){particle.angle=this._game.math.random()*360-180}particle.drag.x=this.particleDrag.x;particle.drag.y=this.particleDrag.y;particle.onEmit()};Emitter.prototype.setSize=function(Width,Height){this.width=Width;this.height=Height};Emitter.prototype.setXSpeed=function(Min,Max){if(typeof Min==="undefined"){Min=0}if(typeof Max==="undefined"){Max=0}this.minParticleSpeed.x=Min;this.maxParticleSpeed.x=Max};Emitter.prototype.setYSpeed=function(Min,Max){if(typeof Min==="undefined"){Min=0}if(typeof Max==="undefined"){Max=0}this.minParticleSpeed.y=Min;this.maxParticleSpeed.y=Max};Emitter.prototype.setRotation=function(Min,Max){if(typeof Min==="undefined"){Min=0}if(typeof Max==="undefined"){Max=0}this.minRotation=Min;this.maxRotation=Max};Emitter.prototype.at=function(Object){Object.getMidpoint(this._point);this.x=this._point.x-(this.width>>1);this.y=this._point.y-(this.height>>1)};return Emitter})(Group);var Loader=(function(){function Loader(game,callback){this._game=game;this._gameCreateComplete=callback;this._keys=[];this._fileList={};this._xhr=new XMLHttpRequest()}Loader.prototype.checkKeyExists=function(key){if(this._fileList[key]){return true}else{return false}};Loader.prototype.addImageFile=function(key,url){if(this.checkKeyExists(key)===false){this._fileList[key]={type:"image",key:key,url:url,data:null,error:false,loaded:false};this._keys.push(key)}};Loader.prototype.addSpriteSheet=function(key,url,frameWidth,frameHeight,frameMax){if(typeof frameMax==="undefined"){frameMax=-1}if(this.checkKeyExists(key)===false){this._fileList[key]={type:"spritesheet",key:key,url:url,data:null,frameWidth:frameWidth,frameHeight:frameHeight,frameMax:frameMax,error:false,loaded:false};this._keys.push(key)}};Loader.prototype.addTextureAtlas=function(key,url,jsonURL,jsonData){if(typeof jsonURL==="undefined"){jsonURL=null}if(typeof jsonData==="undefined"){jsonData=null}if(this.checkKeyExists(key)===false){if(jsonURL!==null){this._fileList[key]={type:"textureatlas",key:key,url:url,data:null,jsonURL:jsonURL,jsonData:null,error:false,loaded:false};this._keys.push(key)}else{if(typeof jsonData==="string"){var data=JSON.parse(jsonData);if(data.frames){this._fileList[key]={type:"textureatlas",key:key,url:url,data:null,jsonURL:null,jsonData:data.frames,error:false,loaded:false};this._keys.push(key)}}else{if(jsonData.frames){this._fileList[key]={type:"textureatlas",key:key,url:url,data:null,jsonURL:null,jsonData:jsonData.frames,error:false,loaded:false};this._keys.push(key)}}}}};Loader.prototype.addAudioFile=function(key,url){if(this.checkKeyExists(key)===false){this._fileList[key]={type:"audio",key:key,url:url,data:null,buffer:null,error:false,loaded:false};this._keys.push(key)}};Loader.prototype.addTextFile=function(key,url){if(this.checkKeyExists(key)===false){this._fileList[key]={type:"text",key:key,url:url,data:null,error:false,loaded:false};this._keys.push(key)}};Loader.prototype.removeFile=function(key){delete this._fileList[key]};Loader.prototype.removeAll=function(){this._fileList={}};Loader.prototype.load=function(onFileLoadCallback,onCompleteCallback){if(typeof onFileLoadCallback==="undefined"){onFileLoadCallback=null}if(typeof onCompleteCallback==="undefined"){onCompleteCallback=null}this.progress=0;this.hasLoaded=false;this._onComplete=onCompleteCallback;if(onCompleteCallback==null){this._onComplete=this._game.onCreateCallback}this._onFileLoad=onFileLoadCallback;if(this._keys.length>0){this._progressChunk=100/this._keys.length;this.loadFile()}else{this.progress=1;this.hasLoaded=true;this._gameCreateComplete.call(this._game);if(this._onComplete!==null){this._onComplete.call(this._game.callbackContext)}}};Loader.prototype.loadFile=function(){var _this=this;var file=this._fileList[this._keys.pop()];switch(file.type){case"image":case"spritesheet":case"textureatlas":file.data=new Image();file.data.name=file.key;file.data.onload=function(){return _this.fileComplete(file.key)};file.data.onerror=function(){return _this.fileError(file.key)};file.data.src=file.url;break;case"audio":this._xhr.open("GET",file.url,true);this._xhr.responseType="arraybuffer";this._xhr.onload=function(){return _this.fileComplete(file.key)};this._xhr.onerror=function(){return _this.fileError(file.key)};this._xhr.send();break;case"text":this._xhr.open("GET",file.url,true);this._xhr.responseType="text";this._xhr.onload=function(){return _this.fileComplete(file.key)};this._xhr.onerror=function(){return _this.fileError(file.key)};this._xhr.send();break}};Loader.prototype.fileError=function(key){this._fileList[key].loaded=true;this._fileList[key].error=true;this.nextFile(key,false)};Loader.prototype.fileComplete=function(key){var _this=this;this._fileList[key].loaded=true;var file=this._fileList[key];var loadNext=true;switch(file.type){case"image":this._game.cache.addImage(file.key,file.url,file.data);break;case"spritesheet":this._game.cache.addSpriteSheet(file.key,file.url,file.data,file.frameWidth,file.frameHeight,file.frameMax);break;case"textureatlas":if(file.jsonURL==null){this._game.cache.addTextureAtlas(file.key,file.url,file.data,file.jsonData)}else{loadNext=false;this._xhr.open("GET",file.jsonURL,true);this._xhr.responseType="text";this._xhr.onload=function(){return _this.jsonLoadComplete(file.key)};this._xhr.onerror=function(){return _this.jsonLoadError(file.key)};this._xhr.send()}break;case"audio":file.data=this._xhr.response;this._game.cache.addSound(file.key,file.url,file.data);break;case"text":file.data=this._xhr.response;this._game.cache.addText(file.key,file.url,file.data);break}if(loadNext){this.nextFile(key,true)}};Loader.prototype.jsonLoadComplete=function(key){var data=JSON.parse(this._xhr.response);if(data.frames){var file=this._fileList[key];this._game.cache.addTextureAtlas(file.key,file.url,file.data,data.frames)}this.nextFile(key,true)};Loader.prototype.jsonLoadError=function(key){var file=this._fileList[key];file.error=true;this.nextFile(key,true)};Loader.prototype.nextFile=function(previousKey,success){this.progress=Math.round(this.progress+this._progressChunk);if(this._onFileLoad){this._onFileLoad.call(this._game.callbackContext,this.progress,previousKey,success)}if(this._keys.length>0){this.loadFile()}else{this.hasLoaded=true;this.removeAll();this._gameCreateComplete.call(this._game);if(this._onComplete!==null){this._onComplete.call(this._game.callbackContext)}}};return Loader})();var SoundManager=(function(){function SoundManager(game){this._context=null;this._game=game;if(game.device.webaudio==true){if(!!window.AudioContext){this._context=new window.AudioContext()}else{if(!!window.webkitAudioContext){this._context=new window.webkitAudioContext()}}if(this._context!==null){this._gainNode=this._context.createGainNode();this._gainNode.connect(this._context.destination);this._volume=1}}}SoundManager.prototype.mute=function(){this._gainNode.gain.value=0};SoundManager.prototype.unmute=function(){this._gainNode.gain.value=this._volume};Object.defineProperty(SoundManager.prototype,"volume",{get:function(){return this._volume},set:function(value){this._volume=value;this._gainNode.gain.value=this._volume},enumerable:true,configurable:true});SoundManager.prototype.decode=function(key,callback,sound){if(typeof callback==="undefined"){callback=null}if(typeof sound==="undefined"){sound=null}var soundData=this._game.cache.getSound(key);if(soundData){if(this._game.cache.isSoundDecoded(key)===false){var that=this;this._context.decodeAudioData(soundData,function(buffer){that._game.cache.decodedSound(key,buffer);if(sound){sound.setDecodedBuffer(buffer)}callback()})}}};SoundManager.prototype.play=function(key,volume,loop){if(typeof volume==="undefined"){volume=1}if(typeof loop==="undefined"){loop=false}var _this=this;if(this._context===null){return}var soundData=this._game.cache.getSound(key);if(soundData){if(this._game.cache.isSoundDecoded(key)===true){return new Sound(this._context,this._gainNode,soundData,volume,loop)}else{var tempSound=new Sound(this._context,this._gainNode,null,volume,loop);this.decode(key,function(){return _this.play(key)},tempSound);return tempSound}}};return SoundManager})();var Sound=(function(){function Sound(context,gainNode,data,volume,loop){if(typeof volume==="undefined"){volume=1}if(typeof loop==="undefined"){loop=false}this.loop=false;this.isPlaying=false;this.isDecoding=false;this._context=context;this._gainNode=gainNode;this._buffer=data;this._volume=volume;this.loop=loop;if(this._context!==null){this._localGainNode=this._context.createGainNode();this._localGainNode.connect(this._gainNode);this._localGainNode.gain.value=this._volume}if(this._buffer===null){this.isDecoding=true}else{this.play()}}Sound.prototype.setDecodedBuffer=function(data){this._buffer=data;this.isDecoding=false;this.play()};Sound.prototype.play=function(){if(this._buffer===null||this.isDecoding===true){return}this._sound=this._context.createBufferSource();this._sound.buffer=this._buffer;this._sound.connect(this._localGainNode);if(this.loop){this._sound.loop=true}this._sound.noteOn(0);this.duration=this._sound.buffer.duration;this.isPlaying=true};Sound.prototype.stop=function(){if(this.isPlaying===true){this.isPlaying=false;this._sound.noteOff(0)}};Sound.prototype.mute=function(){this._localGainNode.gain.value=0};Sound.prototype.unmute=function(){this._localGainNode.gain.value=this._volume};Object.defineProperty(Sound.prototype,"volume",{get:function(){return this._volume},set:function(value){this._volume=value;this._localGainNode.gain.value=this._volume},enumerable:true,configurable:true});return Sound})();var FullScreen=(function(){function FullScreen(game){var _this=this;this._game=game;this.orientation=window.orientation;window.addEventListener("orientationchange",function(event){return _this.checkOrientation(event)},false);this.width=window.innerWidth;this.height=window.innerHeight}FullScreen.prototype.go=function(){this.refresh()};FullScreen.prototype.update=function(){if(window.innerWidth!==this.width||window.innerHeight!==this.height){this.refresh()}};Object.defineProperty(FullScreen.prototype,"isLandscape",{get:function(){return window.orientation===90||window.orientation===-90},enumerable:true,configurable:true});FullScreen.prototype.checkOrientation=function(event){if(window.orientation!==this.orientation){this.refresh();this.orientation=window.orientation}};FullScreen.prototype.refresh=function(){var _this=this;if(this._game.device.iPad==false&&this._game.device.webApp==false&&this._game.device.desktop==false){document.documentElement.style.minHeight="5000px";this._startHeight=window.innerHeight;if(this._game.device.android&&this._game.device.chrome==false){window.scrollTo(0,1)}else{window.scrollTo(0,0)}}if(this._check==null){this._iterations=40;this._check=window.setInterval(function(){return _this.retryFullScreen()},10)}};FullScreen.prototype.retryFullScreen=function(){if(this._game.device.android&&this._game.device.chrome==false){window.scrollTo(0,1)}else{window.scrollTo(0,0)}this._iterations--;if(window.innerHeight>this._startHeight||this._iterations<0){document.documentElement.style.minHeight=window.innerHeight+"px";this._game.stage.canvas.style.width=window.innerWidth+"px";this._game.stage.canvas.style.height=window.innerHeight+"px";this.width=window.innerWidth;this.height=window.innerHeight;clearInterval(this._check);this._check=null}};return FullScreen})();var Stage=(function(){function Stage(game,parent,width,height){var _this=this;this.clear=true;this._logo="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO1JREFUeNpi/P//PwM6YGRkxBQEAqBaRnQxFmwa10d6MAjrMqMofHv5L1we2SBGmAtAktg0ogOQQYHLd8ANYYFpPtTmzUAMAFmwnsEDrAdkCAvMZlIAsiFMMAEYsKvaSrQhIMCELkGsV2AAbIC8gCQYgwKIUABiNYBf9yoYH7n7n6CzN274g2IYEyFbsNmKLIaSkHpP7WSwUfbA0ASzFQRslBlxp0RcAF0TRhggA3zhAJIDpUKU5A9KyshpHDkjFZu5g2nJMFcwXVJSgqIGnBKx5bKenh4w/XzVbgbPtlIUcVgSxuoCUgHIIIAAAwArtXwJBABO6QAAAABJRU5ErkJggg==";this._game=game;this.canvas=document.createElement("canvas");this.canvas.width=width;this.canvas.height=height;if(document.getElementById(parent)){document.getElementById(parent).appendChild(this.canvas);document.getElementById(parent).style.overflow="hidden"}else{document.body.appendChild(this.canvas)}this.context=this.canvas.getContext("2d");this.offset=this.getOffset(this.canvas);this.bounds=new Rectangle(this.offset.x,this.offset.y,width,height);this.fullscreen=new FullScreen(this._game);window.onblur=function(event){return _this.visibilityChange(event)};window.onfocus=function(event){return _this.visibilityChange(event)}}Stage.ORIENTATION_LANDSCAPE=0;Stage.ORIENTATION_PORTRAIT=1;Stage.prototype.update=function(){this.fullscreen.update();if(this.clear){this.context.clearRect(0,0,this.width,this.height)}};Stage.prototype.renderDebugInfo=function(){this.context.fillStyle="rgb(255,255,255)";this.context.fillText(Game.VERSION,10,20);this.context.fillText("Game Size: "+this.width+" x "+this.height,10,40);this.context.fillText("x: "+this.x+" y: "+this.y,10,60)};Stage.prototype.visibilityChange=function(event){if(event.type=="blur"&&this._game.pause==false&&this._game.isBooted==true){this._game.pause=true;this.drawPauseScreen()}else{if(event.type=="focus"){this._game.pause=false}}};Stage.prototype.drawInitScreen=function(){this.context.fillStyle="rgb(40, 40, 40)";this.context.fillRect(0,0,this.width,this.height);this.context.fillStyle="rgb(255,255,255)";this.context.font="bold 18px Arial";this.context.textBaseline="top";this.context.fillText(Game.VERSION,54,32);this.context.fillText("Game Size: "+this.width+" x "+this.height,32,64);this.context.fillText("www.photonstorm.com",32,96);this.context.font="16px Arial";this.context.fillText("You are seeing this screen because you didn't specify any default",32,160);this.context.fillText("functions in the Game constructor, or use Game.loadState()",32,184);var image=new Image();var that=this;image.onload=function(){that.context.drawImage(image,32,32)};image.src=this._logo};Stage.prototype.drawPauseScreen=function(){this.context.fillStyle="rgba(0, 0, 0, 0.4)";this.context.fillRect(0,0,this.width,this.height);var arrowWidth=Math.round(this.width/2);var arrowHeight=Math.round(this.height/2);var sx=this.centerX-arrowWidth/2;var sy=this.centerY-arrowHeight/2;this.context.beginPath();this.context.moveTo(sx,sy);this.context.lineTo(sx,sy+arrowHeight);this.context.lineTo(sx+arrowWidth,this.centerY);this.context.closePath();this.context.fillStyle="rgba(255, 255, 255, 0.8)";this.context.fill()};Stage.prototype.getOffset=function(element){var box=element.getBoundingClientRect();var clientTop=element.clientTop||document.body.clientTop||0;var clientLeft=element.clientLeft||document.body.clientLeft||0;var scrollTop=window.pageYOffset||element.scrollTop||document.body.scrollTop;var scrollLeft=window.pageXOffset||element.scrollLeft||document.body.scrollLeft;return new Point(box.left+scrollLeft-clientLeft,box.top+scrollTop-clientTop)};Object.defineProperty(Stage.prototype,"backgroundColor",{get:function(){return this._bgColor},set:function(color){this.canvas.style.backgroundColor=color},enumerable:true,configurable:true});Object.defineProperty(Stage.prototype,"x",{get:function(){return this.bounds.x},enumerable:true,configurable:true});Object.defineProperty(Stage.prototype,"y",{get:function(){return this.bounds.y},enumerable:true,configurable:true});Object.defineProperty(Stage.prototype,"width",{get:function(){return this.bounds.width},enumerable:true,configurable:true});Object.defineProperty(Stage.prototype,"height",{get:function(){return this.bounds.height},enumerable:true,configurable:true});Object.defineProperty(Stage.prototype,"centerX",{get:function(){return this.bounds.halfWidth},enumerable:true,configurable:true});Object.defineProperty(Stage.prototype,"centerY",{get:function(){return this.bounds.halfHeight},enumerable:true,configurable:true});Object.defineProperty(Stage.prototype,"randomX",{get:function(){return Math.round(Math.random()*this.bounds.width)},enumerable:true,configurable:true});Object.defineProperty(Stage.prototype,"randomY",{get:function(){return Math.round(Math.random()*this.bounds.height)},enumerable:true,configurable:true});return Stage})();var Time=(function(){function Time(game){this.timeScale=1;this.elapsed=0;this.time=0;this.now=0;this.delta=0;this.fps=0;this.fpsMin=1000;this.fpsMax=0;this.msMin=1000;this.msMax=0;this.frames=0;this._timeLastSecond=0;this._started=Date.now();this._timeLastSecond=this._started;this.time=this._started}Object.defineProperty(Time.prototype,"totalElapsedSeconds",{get:function(){return(this.now-this._started)*0.001},enumerable:true,configurable:true});Time.prototype.update=function(){this.now=Date.now();this.delta=this.now-this.time;this.msMin=Math.min(this.msMin,this.delta);this.msMax=Math.max(this.msMax,this.delta);this.frames++;if(this.now>this._timeLastSecond+1000){this.fps=Math.round((this.frames*1000)/(this.now-this._timeLastSecond));this.fpsMin=Math.min(this.fpsMin,this.fps);this.fpsMax=Math.max(this.fpsMax,this.fps);this._timeLastSecond=this.now;this.frames=0}this.time=this.now};Time.prototype.elapsedSince=function(since){return this.now-since};Time.prototype.elapsedSecondsSince=function(since){return(this.now-since)*0.001};Time.prototype.reset=function(){this._started=this.now};return Time})();var TilemapBuffer=(function(){function TilemapBuffer(game,camera,tilemap,texture,tileOffsets){this._startX=0;this._maxX=0;this._startY=0;this._maxY=0;this._tx=0;this._ty=0;this._dx=0;this._dy=0;this._oldCameraX=0;this._oldCameraY=0;this._dirty=true;this._game=game;this.camera=camera;this._tilemap=tilemap;this._texture=texture;this._tileOffsets=tileOffsets}TilemapBuffer.prototype.createCanvas=function(){this.canvas=document.createElement("canvas");this.canvas.width=this._game.stage.width;this.canvas.height=this._game.stage.height;this.context=this.canvas.getContext("2d")};TilemapBuffer.prototype.update=function(){};TilemapBuffer.prototype.renderDebugInfo=function(x,y,color){if(typeof color==="undefined"){color="rgb(255,255,255)"}this._game.stage.context.fillStyle=color;this._game.stage.context.fillText("TilemapBuffer",x,y);this._game.stage.context.fillText("startX: "+this._startX+" endX: "+this._maxX,x,y+14);this._game.stage.context.fillText("startY: "+this._startY+" endY: "+this._maxY,x,y+28);this._game.stage.context.fillText("dx: "+this._dx+" dy: "+this._dy,x,y+42);this._game.stage.context.fillText("Dirty: "+this._dirty,x,y+56)};TilemapBuffer.prototype.render=function(dx,dy){this._maxX=this._game.math.ceil(this.camera.width/this._tilemap.tileWidth)+1;this._maxY=this._game.math.ceil(this.camera.height/this._tilemap.tileHeight)+1;this._startX=this._game.math.floor(this.camera.worldView.x/this._tilemap.tileWidth);this._startY=this._game.math.floor(this.camera.worldView.y/this._tilemap.tileHeight);if(this._startX<0){this._startX=0}if(this._startY<0){this._startY=0}if(this._startX+this._maxX>this._tilemap.widthInTiles){this._startX=this._tilemap.widthInTiles-this._maxX}if(this._startY+this._maxY>this._tilemap.heightInTiles){this._startY=this._tilemap.heightInTiles-this._maxY}this._dx=dx;this._dy=dy;this._dx+=-(this.camera.worldView.x-(this._startX*this._tilemap.tileWidth));this._dy+=-(this.camera.worldView.y-(this._startY*this._tilemap.tileHeight));this._tx=this._dx;this._ty=this._dy;for(var row=this._startY;row0){if(this.widthInTiles==0){this.widthInTiles=column.length}this.heightInTiles++;for(var c=0;c0){this.widthInPixels=this.tileWidth*this.widthInTiles}if(this.heightInTiles>0){this.heightInPixels=this.tileHeight*this.heightInTiles}this.boundsInTiles.setTo(0,0,this.widthInTiles,this.heightInTiles)};Tilemap.prototype.parseTiledJSON=function(data){console.log("parseTiledJSON");this.mapData=[];data=data.trim();var json=JSON.parse(data);this.tileWidth=json.tilewidth;this.tileHeight=json.tileheight;this.widthInTiles=json.layers[0].width;this.heightInTiles=json.layers[0].height;this.widthInPixels=this.widthInTiles*this.tileWidth;this.heightInPixels=this.heightInTiles*this.tileHeight;this.boundsInTiles.setTo(0,0,this.widthInTiles,this.heightInTiles);console.log("width in tiles",this.widthInTiles);console.log("height in tiles",this.heightInTiles);console.log("width in px",this.widthInPixels);console.log("height in px",this.heightInPixels);var c=0;var row;for(var i=0;iQuadTree._min)||(this.height>QuadTree._min);this._northWestTree=null;this._northEastTree=null;this._southEastTree=null;this._southWestTree=null;this._leftEdge=this.x;this._rightEdge=this.x+this.width;this._halfWidth=this.width/2;this._midpointX=this._leftEdge+this._halfWidth;this._topEdge=this.y;this._bottomEdge=this.y+this.height;this._halfHeight=this.height/2;this._midpointY=this._topEdge+this._halfHeight}QuadTree.A_LIST=0;QuadTree.B_LIST=1;QuadTree.prototype.destroy=function(){this._tailA.destroy();this._tailB.destroy();this._headA.destroy();this._headB.destroy();this._tailA=null;this._tailB=null;this._headA=null;this._headB=null;if(this._northWestTree!=null){this._northWestTree.destroy()}if(this._northEastTree!=null){this._northEastTree.destroy()}if(this._southEastTree!=null){this._southEastTree.destroy()}if(this._southWestTree!=null){this._southWestTree.destroy()}this._northWestTree=null;this._northEastTree=null;this._southEastTree=null;this._southWestTree=null;QuadTree._object=null;QuadTree._processingCallback=null;QuadTree._notifyCallback=null};QuadTree.prototype.load=function(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,ProcessCallback){if(typeof ObjectOrGroup2==="undefined"){ObjectOrGroup2=null}if(typeof NotifyCallback==="undefined"){NotifyCallback=null}if(typeof ProcessCallback==="undefined"){ProcessCallback=null}this.add(ObjectOrGroup1,QuadTree.A_LIST);if(ObjectOrGroup2!=null){this.add(ObjectOrGroup2,QuadTree.B_LIST);QuadTree._useBothLists=true}else{QuadTree._useBothLists=false}QuadTree._notifyCallback=NotifyCallback;QuadTree._processingCallback=ProcessCallback};QuadTree.prototype.add=function(ObjectOrGroup,List){QuadTree._list=List;if(ObjectOrGroup.isGroup==true){var i=0;var basic;var members=ObjectOrGroup.members;var l=ObjectOrGroup.length;while(i=QuadTree._objectLeftEdge)&&(this._rightEdge<=QuadTree._objectRightEdge)&&(this._topEdge>=QuadTree._objectTopEdge)&&(this._bottomEdge<=QuadTree._objectBottomEdge))){this.addToList();return}if((QuadTree._objectLeftEdge>this._leftEdge)&&(QuadTree._objectRightEdgethis._topEdge)&&(QuadTree._objectBottomEdgethis._midpointY)&&(QuadTree._objectBottomEdgethis._midpointX)&&(QuadTree._objectRightEdgethis._topEdge)&&(QuadTree._objectBottomEdgethis._midpointY)&&(QuadTree._objectBottomEdgethis._leftEdge)&&(QuadTree._objectLeftEdgethis._topEdge)&&(QuadTree._objectTopEdgethis._midpointX)&&(QuadTree._objectLeftEdgethis._topEdge)&&(QuadTree._objectTopEdgethis._midpointX)&&(QuadTree._objectLeftEdgethis._midpointY)&&(QuadTree._objectTopEdgethis._leftEdge)&&(QuadTree._objectLeftEdgethis._midpointY)&&(QuadTree._objectTopEdge0)&&(QuadTree._iterator!=null)&&(QuadTree._iterator.object!=null)&&QuadTree._iterator.object.exists&&this.overlapNode()){overlapProcessed=true}iterator=iterator.next}}if((this._northWestTree!=null)&&this._northWestTree.execute()){overlapProcessed=true}if((this._northEastTree!=null)&&this._northEastTree.execute()){overlapProcessed=true}if((this._southEastTree!=null)&&this._southEastTree.execute()){overlapProcessed=true}if((this._southWestTree!=null)&&this._southWestTree.execute()){overlapProcessed=true}return overlapProcessed};QuadTree.prototype.overlapNode=function(){var overlapProcessed=false;var checkObject;while(QuadTree._iterator!=null){if(!QuadTree._object.exists||(QuadTree._object.allowCollisions<=0)){break}checkObject=QuadTree._iterator.object;if((QuadTree._object===checkObject)||!checkObject.exists||(checkObject.allowCollisions<=0)){QuadTree._iterator=QuadTree._iterator.next;continue}QuadTree._objectHullX=(QuadTree._object.x0)?QuadTree._objectHullWidth:-QuadTree._objectHullWidth);QuadTree._objectHullHeight=QuadTree._object.y-QuadTree._object.last.y;QuadTree._objectHullHeight=QuadTree._object.height+((QuadTree._objectHullHeight>0)?QuadTree._objectHullHeight:-QuadTree._objectHullHeight);QuadTree._checkObjectHullX=(checkObject.x0)?QuadTree._checkObjectHullWidth:-QuadTree._checkObjectHullWidth);QuadTree._checkObjectHullHeight=checkObject.y-checkObject.last.y;QuadTree._checkObjectHullHeight=checkObject.height+((QuadTree._checkObjectHullHeight>0)?QuadTree._checkObjectHullHeight:-QuadTree._checkObjectHullHeight);if((QuadTree._objectHullX+QuadTree._objectHullWidth>QuadTree._checkObjectHullX)&&(QuadTree._objectHullXQuadTree._checkObjectHullY)&&(QuadTree._objectHullY0)?obj1delta:-obj1delta;var obj2deltaAbs=(obj2delta>0)?obj2delta:-obj2delta;var obj1rect=new Rectangle(Object1.x-((obj1delta>0)?obj1delta:0),Object1.last.y,Object1.width+((obj1delta>0)?obj1delta:-obj1delta),Object1.height);var obj2rect=new Rectangle(Object2.x-((obj2delta>0)?obj2delta:0),Object2.last.y,Object2.width+((obj2delta>0)?obj2delta:-obj2delta),Object2.height);if((obj1rect.x+obj1rect.width>obj2rect.x)&&(obj1rect.xobj2rect.y)&&(obj1rect.yobj2delta){overlap=Object1.x+Object1.width-Object2.x;if((overlap>maxOverlap)||!(Object1.allowCollisions&GameObject.RIGHT)||!(Object2.allowCollisions&GameObject.LEFT)){overlap=0}else{Object1.touching|=GameObject.RIGHT;Object2.touching|=GameObject.LEFT}}else{if(obj1deltamaxOverlap)||!(Object1.allowCollisions&GameObject.LEFT)||!(Object2.allowCollisions&GameObject.RIGHT)){overlap=0}else{Object1.touching|=GameObject.LEFT;Object2.touching|=GameObject.RIGHT}}}}}if(overlap!=0){var obj1v=Object1.velocity.x;var obj2v=Object2.velocity.x;if(!obj1immovable&&!obj2immovable){overlap*=0.5;Object1.x=Object1.x-overlap;Object2.x+=overlap;var obj1velocity=Math.sqrt((obj2v*obj2v*Object2.mass)/Object1.mass)*((obj2v>0)?1:-1);var obj2velocity=Math.sqrt((obj1v*obj1v*Object1.mass)/Object2.mass)*((obj1v>0)?1:-1);var average=(obj1velocity+obj2velocity)*0.5;obj1velocity-=average;obj2velocity-=average;Object1.velocity.x=average+obj1velocity*Object1.elasticity;Object2.velocity.x=average+obj2velocity*Object2.elasticity}else{if(!obj1immovable){Object1.x=Object1.x-overlap;Object1.velocity.x=obj2v-obj1v*Object1.elasticity}else{if(!obj2immovable){Object2.x+=overlap;Object2.velocity.x=obj1v-obj2v*Object2.elasticity}}}return true}else{return false}};World.separateY=function separateY(Object1,Object2){var obj1immovable=Object1.immovable;var obj2immovable=Object2.immovable;if(obj1immovable&&obj2immovable){return false}var overlap=0;var obj1delta=Object1.y-Object1.last.y;var obj2delta=Object2.y-Object2.last.y;if(obj1delta!=obj2delta){var obj1deltaAbs=(obj1delta>0)?obj1delta:-obj1delta;var obj2deltaAbs=(obj2delta>0)?obj2delta:-obj2delta;var obj1rect=new Rectangle(Object1.x,Object1.y-((obj1delta>0)?obj1delta:0),Object1.width,Object1.height+obj1deltaAbs);var obj2rect=new Rectangle(Object2.x,Object2.y-((obj2delta>0)?obj2delta:0),Object2.width,Object2.height+obj2deltaAbs);if((obj1rect.x+obj1rect.width>obj2rect.x)&&(obj1rect.xobj2rect.y)&&(obj1rect.yobj2delta){overlap=Object1.y+Object1.height-Object2.y;if((overlap>maxOverlap)||!(Object1.allowCollisions&GameObject.DOWN)||!(Object2.allowCollisions&GameObject.UP)){overlap=0}else{Object1.touching|=GameObject.DOWN;Object2.touching|=GameObject.UP}}else{if(obj1deltamaxOverlap)||!(Object1.allowCollisions&GameObject.UP)||!(Object2.allowCollisions&GameObject.DOWN)){overlap=0}else{Object1.touching|=GameObject.UP;Object2.touching|=GameObject.DOWN}}}}}if(overlap!=0){var obj1v=Object1.velocity.y;var obj2v=Object2.velocity.y;if(!obj1immovable&&!obj2immovable){overlap*=0.5;Object1.y=Object1.y-overlap;Object2.y+=overlap;var obj1velocity=Math.sqrt((obj2v*obj2v*Object2.mass)/Object1.mass)*((obj2v>0)?1:-1);var obj2velocity=Math.sqrt((obj1v*obj1v*Object1.mass)/Object2.mass)*((obj1v>0)?1:-1);var average=(obj1velocity+obj2velocity)*0.5;obj1velocity-=average;obj2velocity-=average;Object1.velocity.y=average+obj1velocity*Object1.elasticity;Object2.velocity.y=average+obj2velocity*Object2.elasticity}else{if(!obj1immovable){Object1.y=Object1.y-overlap;Object1.velocity.y=obj2v-obj1v*Object1.elasticity;if(Object2.active&&Object2.moves&&(obj1delta>obj2delta)){Object1.x+=Object2.x-Object2.last.x}}else{if(!obj2immovable){Object2.y+=overlap;Object2.velocity.y=obj1v-obj2v*Object2.elasticity;if(Object1.active&&Object1.moves&&(obj1delta0){this._diameter=value;this._radius=value*0.5}return this._diameter};Circle.prototype.radius=function(value){if(value&&value>0){this._radius=value;this._diameter=value*2}return this._radius};Circle.prototype.circumference=function(){return 2*(Math.PI*this._radius)};Circle.prototype.bottom=function(value){if(value&&!isNaN(value)){if(valuethis.x){this.radius(value-this.x)}else{this._radius=0;this._diameter=0}}return this.x+this._radius};Circle.prototype.top=function(value){if(value&&!isNaN(value)){if(value>this.y){this._radius=0;this._diameter=0}else{this.radius(this.y-value)}}return this.y-this._radius};Circle.prototype.area=function(){if(this._radius>0){return Math.PI*this._radius*this._radius}else{return 0}};Circle.prototype.isEmpty=function(){if(this._diameter<1){return true}return false};Circle.prototype.clone=function(output){if(typeof output==="undefined"){output=new Circle()}return output.setTo(this.x,this.y,this._diameter)};Circle.prototype.copyFrom=function(source){return this.setTo(source.x,source.y,source.diameter())};Circle.prototype.copyTo=function(target){return target.copyFrom(this)};Circle.prototype.distanceTo=function(target,round){if(typeof round==="undefined"){round=false}var dx=this.x-target.x;var dy=this.y-target.y;if(round===true){return Math.round(Math.sqrt(dx*dx+dy*dy))}else{return Math.sqrt(dx*dx+dy*dy)}};Circle.prototype.equals=function(toCompare){if(this.x===toCompare.x&&this.y===toCompare.y&&this.diameter()===toCompare.diameter()){return true}return false};Circle.prototype.intersects=function(toIntersect){if(this.distanceTo(toIntersect,false)<(this._radius+toIntersect._radius)){return true}return false};Circle.prototype.circumferencePoint=function(angle,asDegrees,output){if(typeof asDegrees==="undefined"){asDegrees=false}if(typeof output==="undefined"){output=new Point()}if(asDegrees===true){angle=angle*(180/Math.PI)}output.x=this.x+this._radius*Math.cos(angle);output.y=this.y+this._radius*Math.sin(angle);return output};Circle.prototype.offset=function(dx,dy){if(!isNaN(dx)&&!isNaN(dy)){this.x+=dx;this.y+=dy}return this};Circle.prototype.offsetPoint=function(point){return this.offset(point.x,point.y)};Circle.prototype.setTo=function(x,y,diameter){this.x=x;this.y=y;this._diameter=diameter;this._radius=diameter*0.5;return this};Circle.prototype.toString=function(){return"[{Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter()+" radius="+this.radius()+")}]"};return Circle})();var Finger=(function(){function Finger(game){this.point=null;this.circle=null;this.withinGame=false;this.clientX=-1;this.clientY=-1;this.pageX=-1;this.pageY=-1;this.screenX=-1;this.screenY=-1;this.x=-1;this.y=-1;this.isDown=false;this.isUp=false;this.timeDown=0;this.duration=0;this.timeUp=0;this.justPressedRate=200;this.justReleasedRate=200;this._game=game;this.active=false}Finger.prototype.start=function(event){this.identifier=event.identifier;this.target=event.target;if(this.point===null){this.point=new Point()}if(this.circle===null){this.circle=new Circle(0,0,44)}this.move(event);this.active=true;this.withinGame=true;this.isDown=true;this.isUp=false;this.timeDown=this._game.time.now};Finger.prototype.move=function(event){this.clientX=event.clientX;this.clientY=event.clientY;this.pageX=event.pageX;this.pageY=event.pageY;this.screenX=event.screenX;this.screenY=event.screenY;this.x=this.pageX-this._game.stage.offset.x;this.y=this.pageY-this._game.stage.offset.y;this.point.setTo(this.x,this.y);this.circle.setTo(this.x,this.y,44);this.duration=this._game.time.now-this.timeDown};Finger.prototype.leave=function(event){this.withinGame=false;this.move(event)};Finger.prototype.stop=function(event){this.active=false;this.withinGame=false;this.isDown=false;this.isUp=true;this.timeUp=this._game.time.now;this.duration=this.timeUp-this.timeDown};Finger.prototype.justPressed=function(duration){if(typeof duration==="undefined"){duration=this.justPressedRate}if(this.isDown===true&&(this.timeDown+duration)>this._game.time.now){return true}else{return false}};Finger.prototype.justReleased=function(duration){if(typeof duration==="undefined"){duration=this.justReleasedRate}if(this.isUp===true&&(this.timeUp+duration)>this._game.time.now){return true}else{return false}};Finger.prototype.toString=function(){return"[{Finger (identifer="+this.identifier+" active="+this.active+" duration="+this.duration+" withinGame="+this.withinGame+" x="+this.x+" y="+this.y+" clientX="+this.clientX+" clientY="+this.clientY+" screenX="+this.screenX+" screenY="+this.screenY+" pageX="+this.pageX+" pageY="+this.pageY+")}]"};return Finger})();var Touch=(function(){function Touch(game){this.isDown=false;this.isUp=true;this._game=game;this.finger1=new Finger(this._game);this.finger2=new Finger(this._game);this.finger3=new Finger(this._game);this.finger4=new Finger(this._game);this.finger5=new Finger(this._game);this.finger6=new Finger(this._game);this.finger7=new Finger(this._game);this.finger8=new Finger(this._game);this.finger9=new Finger(this._game);this.finger10=new Finger(this._game);this._fingers=[this.finger1,this.finger2,this.finger3,this.finger4,this.finger5,this.finger6,this.finger7,this.finger8,this.finger9,this.finger10];this.touchDown=new Signal();this.touchUp=new Signal();this.start()}Touch.prototype.start=function(){var _this=this;this._game.stage.canvas.addEventListener("touchstart",function(event){return _this.onTouchStart(event)},false);this._game.stage.canvas.addEventListener("touchmove",function(event){return _this.onTouchMove(event)},false);this._game.stage.canvas.addEventListener("touchend",function(event){return _this.onTouchEnd(event)},false);this._game.stage.canvas.addEventListener("touchenter",function(event){return _this.onTouchEnter(event)},false);this._game.stage.canvas.addEventListener("touchleave",function(event){return _this.onTouchLeave(event)},false);this._game.stage.canvas.addEventListener("touchcancel",function(event){return _this.onTouchCancel(event)},false);document.addEventListener("touchmove",function(event){return _this.consumeTouchMove(event)},false)};Touch.prototype.consumeTouchMove=function(event){event.preventDefault()};Touch.prototype.onTouchStart=function(event){event.preventDefault();for(var i=0;i>>0;h-=n;h*=n;n=h>>>0;h-=n;n+=h*4294967296}return(n>>>0)*2.3283064365386963e-10};RandomDataGenerator.prototype.sow=function(seeds){if(typeof seeds==="undefined"){seeds=[]}this.s0=this.hash(" ");this.s1=this.hash(this.s0);this.s2=this.hash(this.s1);var seed;for(var i=0;seed=seeds[i++];){this.s0-=this.hash(seed);this.s0+=~~(this.s0<0);this.s1-=this.hash(seed);this.s1+=~~(this.s1<0);this.s2-=this.hash(seed);this.s2+=~~(this.s2<0)}};Object.defineProperty(RandomDataGenerator.prototype,"integer",{get:function(){return this.uint32()},enumerable:true,configurable:true});Object.defineProperty(RandomDataGenerator.prototype,"frac",{get:function(){return this.fract32()},enumerable:true,configurable:true});Object.defineProperty(RandomDataGenerator.prototype,"real",{get:function(){return this.uint32()+this.fract32()},enumerable:true,configurable:true});RandomDataGenerator.prototype.integerInRange=function(min,max){return Math.floor(this.realInRange(min,max))};RandomDataGenerator.prototype.realInRange=function(min,max){min=min||0;max=max||0;return this.frac*(max-min)+min};Object.defineProperty(RandomDataGenerator.prototype,"normal",{get:function(){return 1-2*this.frac},enumerable:true,configurable:true});Object.defineProperty(RandomDataGenerator.prototype,"uuid",{get:function(){var a,b;for(b=a="";a++<36;b+=~a%5|a*3&4?(a^15?8^this.frac*(a^20?16:4):4).toString(16):"-"){}return b},enumerable:true,configurable:true});RandomDataGenerator.prototype.pick=function(array){return array[this.integerInRange(0,array.length)]};RandomDataGenerator.prototype.weightedPick=function(array){return array[~~(Math.pow(this.frac,2)*array.length)]};RandomDataGenerator.prototype.timestamp=function(min,max){if(typeof min==="undefined"){min=946684800000}if(typeof max==="undefined"){max=1577862000000}return this.realInRange(min,max)};Object.defineProperty(RandomDataGenerator.prototype,"angle",{get:function(){return this.integerInRange(-180,180)},enumerable:true,configurable:true});return RandomDataGenerator})();var Device=(function(){function Device(){this.desktop=false;this.iOS=false;this.android=false;this.chromeOS=false;this.linux=false;this.macOS=false;this.windows=false;this.canvas=false;this.file=false;this.fileSystem=false;this.localStorage=false;this.webGL=false;this.worker=false;this.touch=false;this.css3D=false;this.arora=false;this.chrome=false;this.epiphany=false;this.firefox=false;this.ie=false;this.ieVersion=0;this.mobileSafari=false;this.midori=false;this.opera=false;this.safari=false;this.webApp=false;this.audioData=false;this.webaudio=false;this.ogg=false;this.mp3=false;this.wav=false;this.m4a=false;this.iPhone=false;this.iPhone4=false;this.iPad=false;this.pixelRatio=0;this._checkAudio();this._checkBrowser();this._checkCSS3D();this._checkDevice();this._checkFeatures();this._checkOS()}Device.prototype._checkOS=function(){var ua=navigator.userAgent;if(/Android/.test(ua)){this.android=true}else{if(/CrOS/.test(ua)){this.chromeOS=true}else{if(/iP[ao]d|iPhone/i.test(ua)){this.iOS=true}else{if(/Linux/.test(ua)){this.linux=true}else{if(/Mac OS/.test(ua)){this.macOS=true}else{if(/Windows/.test(ua)){this.windows=true}}}}}}if(this.windows||this.macOS||this.linux){this.desktop=true}};Device.prototype._checkFeatures=function(){this.canvas=!!window.CanvasRenderingContext2D;try{this.localStorage=!!localStorage.getItem}catch(error){this.localStorage=false}this.file=!!window.File&&!!window.FileReader&&!!window.FileList&&!!window.Blob;this.fileSystem=!!window.requestFileSystem;this.webGL=!!window.WebGLRenderingContext;this.worker=!!window.Worker;if("ontouchstart" in document.documentElement||window.navigator.msPointerEnabled){this.touch=true}};Device.prototype._checkBrowser=function(){var ua=navigator.userAgent;if(/Arora/.test(ua)){this.arora=true}else{if(/Chrome/.test(ua)){this.chrome=true}else{if(/Epiphany/.test(ua)){this.epiphany=true}else{if(/Firefox/.test(ua)){this.firefox=true}else{if(/Mobile Safari/.test(ua)){this.mobileSafari=true}else{if(/MSIE (\d+\.\d+);/.test(ua)){this.ie=true;this.ieVersion=parseInt(RegExp.$1)}else{if(/Midori/.test(ua)){this.midori=true}else{if(/Opera/.test(ua)){this.opera=true}else{if(/Safari/.test(ua)){this.safari=true}}}}}}}}}if(navigator.standalone){this.webApp=true}};Device.prototype._checkAudio=function(){this.audioData=!!(window.Audio);this.webaudio=!!(window.webkitAudioContext||window.AudioContext);var audioElement=document.createElement("audio");var result=false;try{if(result=!!audioElement.canPlayType){if(audioElement.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,"")){this.ogg=true}if(audioElement.canPlayType("audio/mpeg;").replace(/^no$/,"")){this.mp3=true}if(audioElement.canPlayType('audio/wav; codecs="1"').replace(/^no$/,"")){this.wav=true}if(audioElement.canPlayType("audio/x-m4a;")||audioElement.canPlayType("audio/aac;").replace(/^no$/,"")){this.m4a=true}}}catch(e){}};Device.prototype._checkDevice=function(){this.pixelRatio=window.devicePixelRatio||1;this.iPhone=navigator.userAgent.toLowerCase().indexOf("iphone")!=-1;this.iPhone4=(this.pixelRatio==2&&this.iPhone);this.iPad=navigator.userAgent.toLowerCase().indexOf("ipad")!=-1};Device.prototype._checkCSS3D=function(){var el=document.createElement("p");var has3d;var transforms={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(el,null);for(var t in transforms){if(el.style[t]!==undefined){el.style[t]="translate3d(1px,1px,1px)";has3d=window.getComputedStyle(el).getPropertyValue(transforms[t])}}document.body.removeChild(el);this.css3D=(has3d!==undefined&&has3d.length>0&&has3d!=="none")};Device.prototype.getAll=function(){var output="";output=output.concat("Device\n");output=output.concat("iPhone : "+this.iPhone+"\n");output=output.concat("iPhone4 : "+this.iPhone4+"\n");output=output.concat("iPad : "+this.iPad+"\n");output=output.concat("\n");output=output.concat("Operating System\n");output=output.concat("iOS: "+this.iOS+"\n");output=output.concat("Android: "+this.android+"\n");output=output.concat("ChromeOS: "+this.chromeOS+"\n");output=output.concat("Linux: "+this.linux+"\n");output=output.concat("MacOS: "+this.macOS+"\n");output=output.concat("Windows: "+this.windows+"\n");output=output.concat("\n");output=output.concat("Browser\n");output=output.concat("Arora: "+this.arora+"\n");output=output.concat("Chrome: "+this.chrome+"\n");output=output.concat("Epiphany: "+this.epiphany+"\n");output=output.concat("Firefox: "+this.firefox+"\n");output=output.concat("Internet Explorer: "+this.ie+" ("+this.ieVersion+")\n");output=output.concat("Mobile Safari: "+this.mobileSafari+"\n");output=output.concat("Midori: "+this.midori+"\n");output=output.concat("Opera: "+this.opera+"\n");output=output.concat("Safari: "+this.safari+"\n");output=output.concat("\n");output=output.concat("Features\n");output=output.concat("Canvas: "+this.canvas+"\n");output=output.concat("File: "+this.file+"\n");output=output.concat("FileSystem: "+this.fileSystem+"\n");output=output.concat("LocalStorage: "+this.localStorage+"\n");output=output.concat("WebGL: "+this.webGL+"\n");output=output.concat("Worker: "+this.worker+"\n");output=output.concat("Touch: "+this.touch+"\n");output=output.concat("CSS 3D: "+this.css3D+"\n");output=output.concat("\n");output=output.concat("Audio\n");output=output.concat("Audio Data: "+this.canvas+"\n");output=output.concat("Web Audio: "+this.canvas+"\n");output=output.concat("Can play OGG: "+this.canvas+"\n");output=output.concat("Can play MP3: "+this.canvas+"\n");output=output.concat("Can play M4A: "+this.canvas+"\n");output=output.concat("Can play WAV: "+this.canvas+"\n");return output};return Device})();var Game=(function(){function Game(callbackContext,parent,width,height,initCallback,createCallback,updateCallback,renderCallback){if(typeof parent==="undefined"){parent=""}if(typeof width==="undefined"){width=800}if(typeof height==="undefined"){height=600}if(typeof initCallback==="undefined"){initCallback=null}if(typeof createCallback==="undefined"){createCallback=null}if(typeof updateCallback==="undefined"){updateCallback=null}if(typeof renderCallback==="undefined"){renderCallback=null}var _this=this;this._maxAccumulation=32;this._accumulator=0;this._step=0;this._loadComplete=false;this._paused=false;this._pendingState=null;this.onInitCallback=null;this.onCreateCallback=null;this.onUpdateCallback=null;this.onRenderCallback=null;this.onPausedCallback=null;this.isBooted=false;this.callbackContext=callbackContext;this.onInitCallback=initCallback;this.onCreateCallback=createCallback;this.onUpdateCallback=updateCallback;this.onRenderCallback=renderCallback;if(document.readyState==="complete"||document.readyState==="interactive"){this.boot(parent,width,height)}else{document.addEventListener("DOMContentLoaded",function(){return _this.boot(parent,width,height)},false)}}Game.VERSION="Phaser version 0.6";Game.prototype.boot=function(parent,width,height){var _this=this;if(!document.body){window.setTimeout(function(){return _this.boot(parent,width,height)},13)}else{this.device=new Device();this.stage=new Stage(this,parent,width,height);this.world=new World(this,width,height);this.sound=new SoundManager(this);this.cache=new Cache(this);this.loader=new Loader(this,this.loadComplete);this.time=new Time(this);this.input=new Input(this);this.math=new GameMath(this);this.rnd=new RandomDataGenerator([(Date.now()*Math.random()).toString()]);this.framerate=60;if(this.onInitCallback==null&&this.onCreateCallback==null&&this.onUpdateCallback==null&&this.onRenderCallback==null&&this._pendingState==null){this.isBooted=false;this.stage.drawInitScreen()}else{this.isBooted=true;this._loadComplete=false;this._raf=new RequestAnimationFrame(this.loop,this);if(this._pendingState){this.switchState(this._pendingState,false,false)}else{this.startState()}}}};Game.prototype.loadComplete=function(){this._loadComplete=true};Game.prototype.loop=function(){if(this._paused==true){if(this.onPausedCallback!==null){this.onPausedCallback.call(this.callbackContext)}return}this.time.update();this.input.update();this.stage.update();this._accumulator+=this.time.delta;if(this._accumulator>this._maxAccumulation){this._accumulator=this._maxAccumulation}while(this._accumulator>=this._step){this.time.elapsed=this.time.timeScale*(this._step/1000);this.world.update();this._accumulator=this._accumulator-this._step}if(this._loadComplete&&this.onUpdateCallback){this.onUpdateCallback.call(this.callbackContext)}this.world.render();if(this._loadComplete&&this.onRenderCallback){this.onRenderCallback.call(this.callbackContext)}};Game.prototype.startState=function(){if(this.onInitCallback!==null){this.onInitCallback.call(this.callbackContext)}else{if(this.onCreateCallback!==null){this.onCreateCallback.call(this.callbackContext)}this._loadComplete=true}};Game.prototype.setCallbacks=function(initCallback,createCallback,updateCallback,renderCallback){if(typeof initCallback==="undefined"){initCallback=null}if(typeof createCallback==="undefined"){createCallback=null}if(typeof updateCallback==="undefined"){updateCallback=null}if(typeof renderCallback==="undefined"){renderCallback=null}this.onInitCallback=initCallback;this.onCreateCallback=createCallback;this.onUpdateCallback=updateCallback;this.onRenderCallback=renderCallback};Game.prototype.switchState=function(state,clearWorld,clearCache){if(typeof clearWorld==="undefined"){clearWorld=true}if(typeof clearCache==="undefined"){clearCache=false}if(this.isBooted==false){this._pendingState=state;return}if(typeof state==="function"){state=new state(this)}if(state.create||state.update){this.callbackContext=state;this.onInitCallback=null;this.onCreateCallback=null;this.onUpdateCallback=null;this.onRenderCallback=null;this.onPausedCallback=null;if(state.init){this.onInitCallback=state.init}if(state.create){this.onCreateCallback=state.create}if(state.update){this.onUpdateCallback=state.update}if(state.render){this.onRenderCallback=state.render}if(state.paused){this.onPausedCallback=state.paused}if(clearWorld){this.world.destroy();if(clearCache==true){this.cache.destroy()}}this._loadComplete=false;this.startState()}else{throw Error("Invalid State object given. Must contain at least a create or update function.");return}};Game.prototype.destroy=function(){this.callbackContext=null;this.onInitCallback=null;this.onCreateCallback=null;this.onUpdateCallback=null;this.onRenderCallback=null;this.onPausedCallback=null;this.camera=null;this.cache=null;this.input=null;this.loader=null;this.sound=null;this.stage=null;this.time=null;this.math=null;this.world=null;this.isBooted=false};Object.defineProperty(Game.prototype,"pause",{get:function(){return this._paused},set:function(value){if(value==true&&this._paused==false){this._paused=true}else{if(value==false&&this._paused==true){this._paused=false;this.time.time=Date.now();this.input.reset()}}},enumerable:true,configurable:true});Object.defineProperty(Game.prototype,"framerate",{get:function(){return 1000/this._step},set:function(value){this._step=1000/value;if(this._maxAccumulation=this._timeNextFrame){this._frameIndex++;if(this._frameIndex==this._frames.length){if(this.looped){this._frameIndex=0;this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex])}else{this.onComplete()}}else{this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex])}this._timeLastFrame=this._game.time.now;this._timeNextFrame=this._game.time.now+this.delay;return true}return false};Animation.prototype.destroy=function(){this._game=null;this._parent=null;this._frames=null;this._frameData=null;this.currentFrame=null;this.isPlaying=false};return Animation})();var AnimationLoader=(function(){function AnimationLoader(){}AnimationLoader.parseSpriteSheet=function parseSpriteSheet(game,key,frameWidth,frameHeight,frameMax){var img=game.cache.getImage(key);if(img==null){return null}var width=img.width;var height=img.height;var row=Math.round(width/frameWidth);var column=Math.round(height/frameHeight);var total=row*column;if(frameMax!==-1){total=frameMax}if(width==0||height==0||widththis._frameData.total){return false}}};Animations.prototype.play=function(name,frameRate,loop){if(typeof frameRate==="undefined"){frameRate=null}if(this._anims[name]){this.currentAnim=this._anims[name];this.currentAnim.play(frameRate,loop)}};Animations.prototype.stop=function(name){if(this._anims[name]){this.currentAnim=this._anims[name];this.currentAnim.stop()}};Animations.prototype.update=function(){if(this.currentAnim&&this.currentAnim.update()==true){this.currentFrame=this.currentAnim.currentFrame;this._parent.bounds.width=this.currentFrame.width;this._parent.bounds.height=this.currentFrame.height}};Object.defineProperty(Animations.prototype,"frameTotal",{get:function(){return this._frameData.total},enumerable:true,configurable:true});Object.defineProperty(Animations.prototype,"frame",{get:function(){return this._frameIndex},set:function(value){this.currentFrame=this._frameData.getFrame(value);if(this.currentFrame!==null){this._parent.bounds.width=this.currentFrame.width;this._parent.bounds.height=this.currentFrame.height;this._frameIndex=value}},enumerable:true,configurable:true});return Animations})();var State=(function(){function State(game){this.game=game;this.camera=game.camera;this.cache=game.cache;this.input=game.input;this.loader=game.loader;this.sound=game.sound;this.stage=game.stage;this.time=game.time;this.math=game.math;this.world=game.world}State.prototype.init=function(){};State.prototype.create=function(){};State.prototype.update=function(){};State.prototype.render=function(){};State.prototype.paused=function(){};State.prototype.createCamera=function(x,y,width,height){return this.game.world.createCamera(x,y,width,height)};State.prototype.createSprite=function(x,y,key){if(typeof key==="undefined"){key=""}return this.game.world.createSprite(x,y,key)};State.prototype.createGroup=function(MaxSize){if(typeof MaxSize==="undefined"){MaxSize=0}return this.game.world.createGroup(MaxSize)};State.prototype.createParticle=function(){return this.game.world.createParticle()};State.prototype.createEmitter=function(x,y,size){if(typeof x==="undefined"){x=0}if(typeof y==="undefined"){y=0}if(typeof size==="undefined"){size=0}return this.game.world.createEmitter(x,y,size)};State.prototype.createTilemap=function(key,mapData,format,tileWidth,tileHeight){return this.game.world.createTilemap(key,mapData,format,tileWidth,tileHeight)};State.prototype.collide=function(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback){if(typeof ObjectOrGroup1==="undefined"){ObjectOrGroup1=null}if(typeof ObjectOrGroup2==="undefined"){ObjectOrGroup2=null}if(typeof NotifyCallback==="undefined"){NotifyCallback=null}return this.game.world.overlap(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,World.separate)};return State})();var Tile=(function(_super){__extends(Tile,_super);function Tile(game,Tilemap,Index,Width,Height,Visible,AllowCollisions){_super.call(this,game,0,0,Width,Height);this.immovable=true;this.moves=false;this.callback=null;this.filter=null;this.tilemap=Tilemap;this.index=Index;this.visible=Visible;this.allowCollisions=AllowCollisions;this.mapIndex=0}Tile.prototype.destroy=function(){_super.prototype.destroy.call(this);this.callback=null;this.tilemap=null};return Tile})(GameObject); \ No newline at end of file