2014-01-09 18:24:12 +00:00
/*! Phaser v1.1.4 | (c) 2013 Photon Storm Ltd. */
2014-02-05 16:54:35 +00:00
! function ( a , b ) { "function" == typeof define && define . amd ? define ( b ) : "object" == typeof exports ? module . exports = b ( ) : a . Phaser = b ( ) } ( this , function ( ) { function a ( ) { return b . Matrix = "undefined" != typeof Float32Array ? Float32Array : Array , b . Matrix } var b = b || { } , c = c || { VERSION : "1.1.4" , DEV _VERSION : "1.1.4" , GAMES : [ ] , AUTO : 0 , CANVAS : 1 , WEBGL : 2 , HEADLESS : 3 , SPRITE : 0 , BUTTON : 1 , BULLET : 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 , NONE : 0 , LEFT : 1 , RIGHT : 2 , UP : 3 , DOWN : 4 , CANVAS _PX _ROUND : ! 1 , CANVAS _CLEAR _RECT : ! 0 } ; b . InteractionManager = function ( ) { } , c . Utils = { shuffle : function ( a ) { for ( var b = a . length - 1 ; b > 0 ; b -- ) { var c = Math . floor ( Math . random ( ) * ( b + 1 ) ) , d = a [ b ] ; a [ b ] = a [ c ] , a [ c ] = d } return a } , pad : function ( a , b , c , d ) { if ( "undefined" == typeof b ) var b = 0 ; if ( "undefined" == typeof c ) var c = " " ; if ( "undefined" == typeof d ) var d = 3 ; var e = 0 ; if ( b + 1 >= a . length ) switch ( d ) { case 1 : a = Array ( b + 1 - a . length ) . join ( c ) + a ; break ; case 3 : var f = Math . ceil ( ( e = b - a . length ) / 2 ) , g = e - f ; a = Array ( g + 1 ) . join ( c ) + a + Array ( f + 1 ) . join ( c ) ; break ; default : a += Array ( b + 1 - a . length ) . join ( c ) } return a } , isPlainObject : function ( a ) { if ( "object" != typeof a || a . nodeType || a === a . window ) return ! 1 ; try { if ( a . constructor && ! hasOwn . call ( a . constructor . prototype , "isPrototypeOf" ) ) return ! 1 } catch ( b ) { return ! 1 } return ! 0 } , extend : function ( ) { var a , b , d , e , f , g , h = arguments [ 0 ] || { } , i = 1 , j = arguments . length , k = ! 1 ; for ( "boolean" == typeof h && ( k = h , h = arguments [ 1 ] || { } , i = 2 ) , j === i && ( h = this , -- i ) ; j > i ; i ++ ) if ( null != ( a = arguments [ i ] ) ) for ( b in a ) d = h [ b ] , e = a [ b ] , h !== e && ( k && e && ( c . Utils . isPlainObject ( e ) || ( f = Array . isArray ( e ) ) ) ? ( f ? ( f = ! 1 , g = d && Array . isArray ( d ) ? d : [ ] ) : g = d && c . Utils . isPlainObject ( d ) ? d : { } , h [ b ] = c . Utils . extend ( k , g , e ) ) : void 0 !== e && ( h [ b ] = e ) ) ; return h } } , b . hex2rgb = function ( a ) { return [ ( 255 & a >> 16 ) / 255 , ( 255 & a >> 8 ) / 255 , ( 255 & a ) / 255 ] } , "function" != typeof Function . prototype . bind && ( Function . prototype . bind = function ( ) { var a = Array . prototype . slice ; return function ( b ) { function c ( ) { var f = e . concat ( a . call ( arguments ) ) ; d . apply ( this instanceof c ? this : b , f ) } var d = this , e = a . call ( arguments , 1 ) ; if ( "function" != typeof d ) throw new TypeError ; return c . prototype = function f ( a ) { return a && ( f . prototype = a ) , this instanceof f ? void 0 : new f } ( d . prototype ) , c } } ( ) ) , Array . isArray || ( Array . isArray = function ( a ) { return "[object Array]" == Object . prototype . toString . call ( a ) } ) , a ( ) , b . mat3 = { } , b . mat3 . create = function ( ) { var a = new b . Matrix ( 9 ) ; return a [ 0 ] = 1 , a [ 1 ] = 0 , a [ 2 ] = 0 , a [ 3 ] = 0 , a [ 4 ] = 1 , a [ 5 ] = 0 , a [ 6 ] = 0 , a [ 7 ] = 0 , a [ 8 ] = 1 , a } , b . mat3 . identity = function ( a ) { return a [ 0 ] = 1 , a [ 1 ] = 0 , a [ 2 ] = 0 , a [ 3 ] = 0 , a [ 4 ] = 1 , a [ 5 ] = 0 , a [ 6 ] = 0 , a [ 7 ] = 0 , a [ 8 ] = 1 , a } , b . mat4 = { } , b . mat4 . create = function ( ) { var a = new b . Matrix ( 16 ) ; return a [ 0 ] = 1 , a [ 1 ] = 0 , a [ 2 ] = 0 , a [ 3 ] = 0 , a [ 4 ] = 0 , a [ 5 ] = 1 , a [ 6 ] = 0 , a [ 7 ] = 0 , a [ 8 ] = 0 , a [ 9 ] = 0 , a [ 10 ] = 1 , a [ 11 ] = 0 , a [ 12 ] = 0 , a [ 13 ] = 0 , a [ 14 ] = 0 , a [ 15 ] = 1 , a } , b . mat3 . multiply = function ( a , b , c ) { c || ( c = a ) ; var d = a [ 0 ] , e = a [ 1 ] , f = a [ 2 ] , g = a [ 3 ] , h = a [ 4 ] , i = a [ 5 ] , j = a [ 6 ] , k = a [ 7 ] , l = a [ 8 ] , m = b [ 0 ] , n = b [ 1 ] , o = b [ 2 ] , p = b [ 3 ] , q = b [ 4 ] , r = b [ 5 ] , s = b [ 6 ] , t = b [ 7 ] , u = b [ 8 ] ; return c [ 0 ] = m * d + n * g + o * j , c [ 1 ] = m * e + n * h + o * k , c [ 2 ] = m * f + n * i + o * l , c [ 3 ] = p * d + q * g + r * j , c [ 4 ] = p * e + q * h + r * k , c [ 5 ] = p * f + q * i + r * l , c [ 6 ] = s * d + t * g + u * j , c [ 7 ] = s * e + t * h + u * k , c [ 8 ] = s * f + t * i + u * l , c } , b . mat3 . clone = function ( a ) { var c = new b . Matrix ( 9 ) ; return c [ 0 ] = a [ 0 ] , c [ 1 ] = a [ 1 ] , c [ 2 ] = a [ 2 ] , c [ 3 ] = a [ 3 ] , c [ 4 ] = a [ 4 ] , c [ 5 ] = a [ 5 ] , c [ 6 ] = a [ 6 ] , c [ 7 ] = a [ 7 ] , c [ 8 ] = a [ 8 ] , c } , b . mat3 . transpose = function ( a , b ) { if ( ! b || a === b ) { var c = a [ 1 ] , d = a [ 2 ] , e = a [ 5 ] ; return a [ 1 ] = a [ 3 ] , a [ 2 ] = a [ 6 ] , a [ 3 ] = c , a [ 5 ] = a [ 7 ] , a [ 6 ] = d , a [ 7 ] = e , a } return b [ 0 ] = a [ 0 ] , b [ 1 ] = a [ 3 ] , b [ 2 ] = a [ 6 ] , b [ 3 ] = a [ 1 ] , b [ 4 ] = a [ 4 ] , b [ 5 ] = a [ 7 ] , b [ 6 ] = a [ 2 ] , b [ 7 ] = a [ 5 ] , b [ 8 ] = a [ 8 ] , b } , b . mat3 . toMat4 = function ( a , c ) { return c || ( c = b . mat4 . create ( ) ) , c [ 15 ] = 1 , c [ 14 ] = 0 , c [ 13 ] = 0 , c [ 12 ] = 0 , c [ 11 ] = 0 , c [ 10 ] = a [ 8 ] , c [ 9 ] = a [ 7 ] , c [ 8 ] = a [ 6 ] , c [ 7 ] = 0 , c [ 6 ] = a [ 5 ] , c [ 5 ] = a [ 4 ] , c [ 4 ] = a [ 3 ] , c [ 3 ] = 0 , c [ 2 ] = a [ 2 ] , c [ 1 ] = a [ 1 ] , c [ 0 ] = a [ 0 ] , c } , b . mat4 . create = function ( ) { var a = new b . Matrix ( 16 ) ; return a [ 0 ] = 1 , a [ 1 ] = 0 , a [ 2 ] = 0 , a [ 3 ] = 0 , a [ 4 ] = 0 , a [ 5 ] = 1 , a [ 6 ] = 0 , a [ 7 ] = 0 , a [ 8 ] = 0 , a [ 9 ] = 0 , a [ 10 ] = 1 , a [ 11 ] = 0 , a [ 12 ] = 0 , a [ 13 ] = 0 , a [ 14 ] = 0 , a [ 15 ] = 1 , a } , b . mat4 . transpose = function ( a , b ) { if ( ! b || a === b ) { var c = a [ 1 ] , d = a [ 2 ] , e = a [ 3 ] , f = a [ 6 ] , g = a [ 7 ] , h = a [ 11 ] ; return a [ 1 ] = a [ 4 ] , a [ 2 ] = a [ 8 ] , a [ 3 ] = a [ 12 ] , a [ 4 ] = c , a [ 6 ] = a [ 9 ] , a [ 7 ] = a [ 13 ] , a [ 8 ] = d , a [ 9 ] = f , a [ 11 ] = a [ 14 ] , a [ 12 ] = e , a [ 13 ] = g , a [ 14 ] = h , a } return b [ 0 ] = a [ 0 ] , b [ 1 ] = a [ 4 ] , b [ 2 ] = a [ 8 ] , b [ 3 ] = a [ 12 ] , b [ 4 ] = a [ 1 ] , b [ 5 ] = a [ 5 ] , b [ 6 ] = a [ 9 ] , b [ 7 ] = a [ 13 ] ,
2014-01-27 06:29:26 +00:00
} , b . PrimitiveShader . prototype . init = function ( ) { var a = b . compileProgram ( this . vertexSrc , this . fragmentSrc ) , c = b . gl ; c . useProgram ( a ) , this . projectionVector = c . getUniformLocation ( a , "projectionVector" ) , this . offsetVector = c . getUniformLocation ( a , "offsetVector" ) , this . aVertexPosition = c . getAttribLocation ( a , "aVertexPosition" ) , this . colorAttribute = c . getAttribLocation ( a , "aColor" ) , this . translationMatrix = c . getUniformLocation ( a , "translationMatrix" ) , this . alpha = c . getUniformLocation ( a , "alpha" ) , this . program = a } , b . StripShader = function ( ) { this . program = null , this . fragmentSrc = [ "precision mediump float;" , "varying vec2 vTextureCoord;" , "varying float vColor;" , "uniform float alpha;" , "uniform sampler2D uSampler;" , "void main(void) {" , " gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y));" , " gl_FragColor = gl_FragColor * alpha;" , "}" ] , this . vertexSrc = [ "attribute vec2 aVertexPosition;" , "attribute vec2 aTextureCoord;" , "attribute float aColor;" , "uniform mat3 translationMatrix;" , "uniform vec2 projectionVector;" , "uniform vec2 offsetVector;" , "varying vec2 vTextureCoord;" , "varying float 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;" , " vColor = aColor;" , "}" ] } , b . StripShader . prototype . init = function ( ) { var a = b . compileProgram ( this . vertexSrc , this . fragmentSrc ) , c = b . gl ; c . useProgram ( a ) , this . uSampler = c . getUniformLocation ( a , "uSampler" ) , this . projectionVector = c . getUniformLocation ( a , "projectionVector" ) , this . offsetVector = c . getUniformLocation ( a , "offsetVector" ) , this . colorAttribute = c . getAttribLocation ( a , "aColor" ) , this . aVertexPosition = c . getAttribLocation ( a , "aVertexPosition" ) , this . aTextureCoord = c . getAttribLocation ( a , "aTextureCoord" ) , this . translationMatrix = c . getUniformLocation ( a , "translationMatrix" ) , this . alpha = c . getUniformLocation ( a , "alpha" ) , this . program = a } , b . _batchs = [ ] , b . _getBatch = function ( a ) { return 0 === b . _batchs . length ? new b . WebGLBatch ( a ) : b . _batchs . pop ( ) } , b . _returnBatch = function ( a ) { a . clean ( ) , b . _batchs . push ( a ) } , b . _restoreBatchs = function ( a ) { for ( var c = 0 ; c < b . _batchs . length ; c ++ ) b . _batchs [ c ] . restoreLostContext ( a ) } , b . WebGLBatch = function ( a ) { this . gl = a , this . size = 0 , this . vertexBuffer = a . createBuffer ( ) , this . indexBuffer = a . createBuffer ( ) , this . uvBuffer = a . createBuffer ( ) , this . colorBuffer = a . createBuffer ( ) , this . blendMode = b . blendModes . NORMAL , this . dynamicSize = 1 } , b . WebGLBatch . prototype . constructor = b . WebGLBatch , b . WebGLBatch . prototype . clean = function ( ) { this . verticies = [ ] , this . uvs = [ ] , this . indices = [ ] , this . colors = [ ] , this . dynamicSize = 1 , this . texture = null , this . last = null , this . size = 0 , this . head = null , this . tail = null } , b . WebGLBatch . prototype . restoreLostContext = function ( a ) { this . gl = a , this . vertexBuffer = a . createBuffer ( ) , this . indexBuffer = a . createBuffer ( ) , this . uvBuffer = a . createBuffer ( ) , this . colorBuffer = a . createBuffer ( ) } , b . WebGLBatch . prototype . init = function ( a ) { a . batch = this , this . dirty = ! 0 , this . blendMode = a . blendMode , this . texture = a . texture . baseTexture , this . head = a , this . tail = a , this . size = 1 , this . growBatch ( ) } , b . WebGLBatch . prototype . insertBefore = function ( a , b ) { this . size ++ , a . batch = this , this . dirty = ! 0 ; var c = b . _ _prev ; b . _ _prev = a , a . _ _next = b , c ? ( a . _ _prev = c , c . _ _next = a ) : this . head = a } , b . WebGLBatch . prototype . insertAfter = function ( a , b ) { this . size ++ , a . batch = this , this . dirty = ! 0 ; var c = b . _ _next ; b . _ _next = a , a . _ _prev = b , c ? ( a . _ _next = c , c . _ _prev = a ) : this . tail = a } , b . WebGLBatch . prototype . remove = function ( a ) { return this . size -- , 0 === this . size ? ( a . batch = null , a . _ _prev = null , a . _ _next = null , void 0 ) : ( a . _ _prev ? a . _ _prev . _ _next = a . _ _next : ( this . head = a . _ _next , this . head . _ _prev = null ) , a . _ _next ? a . _ _next . _ _prev = a . _ _prev : ( this . tail = a . _ _prev , this . tail . _ _next = null ) , a . batch = null , a . _ _next = null , a . _ _prev = null , this . dirty = ! 0 , void 0 ) } , b . WebGLBatch . prototype . split = function ( a ) { this . dirty = ! 0 ; var c = new b . WebGLBatch ( this . gl ) ; c . init ( a ) , c . texture = this . texture , c . tail = this . tail , this . tail = a . _ _prev , this . tail . _ _next = null , a . _ _prev = null ; for ( var d = 0 ; a ; ) d ++ , a . batch = c , a = a . _ _next ; return c . size = d , this . size -= d , c } , b . WebGLBatch . prototype . merge = function ( a ) { this . dirty = ! 0 , this . tail . _ _next = a . head , a . head . _ _
2014-01-31 10:34:18 +00:00
} , b . WebGLRenderGroup . prototype . renderTilingSprite = function ( a , c ) { var d = this . gl ; b . shaderProgram ; var e = a . tilePosition , f = a . tileScale , g = e . x / a . texture . baseTexture . width , h = e . y / a . texture . baseTexture . height , i = a . width / a . texture . baseTexture . width / f . x , j = a . height / a . texture . baseTexture . height / f . y ; a . uvs [ 0 ] = 0 - g , a . uvs [ 1 ] = 0 - h , a . uvs [ 2 ] = 1 * i - g , a . uvs [ 3 ] = 0 - h , a . uvs [ 4 ] = 1 * i - g , a . uvs [ 5 ] = 1 * j - h , a . uvs [ 6 ] = 0 - g , a . uvs [ 7 ] = 1 * j - h , d . bindBuffer ( d . ARRAY _BUFFER , a . _uvBuffer ) , d . bufferSubData ( d . ARRAY _BUFFER , 0 , a . uvs ) , this . renderStrip ( a , c ) } , b . WebGLRenderGroup . prototype . initStrip = function ( a ) { var b = this . gl ; this . shaderProgram , a . _vertexBuffer = b . createBuffer ( ) , a . _indexBuffer = b . createBuffer ( ) , a . _uvBuffer = b . createBuffer ( ) , a . _colorBuffer = b . createBuffer ( ) , b . bindBuffer ( b . ARRAY _BUFFER , a . _vertexBuffer ) , b . bufferData ( b . ARRAY _BUFFER , a . verticies , b . DYNAMIC _DRAW ) , b . bindBuffer ( b . ARRAY _BUFFER , a . _uvBuffer ) , b . bufferData ( b . ARRAY _BUFFER , a . uvs , b . STATIC _DRAW ) , b . bindBuffer ( b . ARRAY _BUFFER , a . _colorBuffer ) , b . bufferData ( b . ARRAY _BUFFER , a . colors , b . STATIC _DRAW ) , b . bindBuffer ( b . ELEMENT _ARRAY _BUFFER , a . _indexBuffer ) , b . bufferData ( b . ELEMENT _ARRAY _BUFFER , a . indices , b . STATIC _DRAW ) } , b . initDefaultShaders = function ( ) { b . primitiveShader = new b . PrimitiveShader , b . primitiveShader . init ( ) , b . stripShader = new b . StripShader , b . stripShader . init ( ) , b . defaultShader = new b . PixiShader , b . defaultShader . init ( ) ; var a = b . gl , c = b . defaultShader . program ; a . useProgram ( c ) , a . enableVertexAttribArray ( b . defaultShader . aVertexPosition ) , a . enableVertexAttribArray ( b . defaultShader . colorAttribute ) , a . enableVertexAttribArray ( b . defaultShader . aTextureCoord ) } , b . activatePrimitiveShader = function ( ) { var a = b . gl ; a . useProgram ( b . primitiveShader . program ) , a . disableVertexAttribArray ( b . defaultShader . aVertexPosition ) , a . disableVertexAttribArray ( b . defaultShader . colorAttribute ) , a . disableVertexAttribArray ( b . defaultShader . aTextureCoord ) , a . enableVertexAttribArray ( b . primitiveShader . aVertexPosition ) , a . enableVertexAttribArray ( b . primitiveShader . colorAttribute ) } , b . deactivatePrimitiveShader = function ( ) { var a = b . gl ; a . useProgram ( b . defaultShader . program ) , a . disableVertexAttribArray ( b . primitiveShader . aVertexPosition ) , a . disableVertexAttribArray ( b . primitiveShader . colorAttribute ) , a . enableVertexAttribArray ( b . defaultShader . aVertexPosition ) , a . enableVertexAttribArray ( b . defaultShader . colorAttribute ) , a . enableVertexAttribArray ( b . defaultShader . aTextureCoord ) } , b . activateStripShader = function ( ) { var a = b . gl ; a . useProgram ( b . stripShader . program ) } , b . deactivateStripShader = function ( ) { var a = b . gl ; a . useProgram ( b . defaultShader . program ) } , b . CompileVertexShader = function ( a , c ) { return b . _CompileShader ( a , c , a . VERTEX _SHADER ) } , b . CompileFragmentShader = function ( a , c ) { return b . _CompileShader ( a , c , a . FRAGMENT _SHADER ) } , b . _CompileShader = function ( a , b , c ) { var d = b . join ( "\n" ) , e = a . createShader ( c ) ; return a . shaderSource ( e , d ) , a . compileShader ( e ) , a . getShaderParameter ( e , a . COMPILE _STATUS ) ? e : ( window . console . log ( a . getShaderInfoLog ( e ) ) , null ) } , b . compileProgram = function ( a , c ) { var d = b . gl , e = b . CompileFragmentShader ( d , c ) , f = b . CompileVertexShader ( d , a ) , g = d . createProgram ( ) ; return d . attachShader ( g , f ) , d . attachShader ( g , e ) , d . linkProgram ( g ) , d . getProgramParameter ( g , d . LINK _STATUS ) || window . console . log ( "Could not initialise shaders" ) , g } , b . BitmapText = function ( a , c ) { b . DisplayObjectContainer . call ( this ) , this . setText ( a ) , this . setStyle ( c ) , this . updateText ( ) , this . dirty = ! 1 } , b . BitmapText . prototype = Object . create ( b . DisplayObjectContainer . prototype ) , b . BitmapText . prototype . constructor = b . BitmapText , b . BitmapText . prototype . setText = function ( a ) { this . text = a || " " , this . dirty = ! 0 } , b . BitmapText . prototype . setStyle = function ( a ) { a = a || { } , a . align = a . align || "left" , this . style = a ; var c = a . font . split ( " " ) ; this . fontName = c [ c . length - 1 ] , this . fontSize = c . length >= 2 ? parseInt ( c [ c . length - 2 ] , 10 ) : b . BitmapText . fonts [ this . fontName ] . size , this . dirty = ! 0 } , b . BitmapText . prototype . updateText = function ( ) { for ( var a = b . BitmapText . fonts [ this . fontName ] , c = new b . Point , d = null , e = [ ] , f = 0 , g = [ ] , h = 0 , i = this . fontSize / a . size , j = 0 ; j < this . text . length ; j ++ ) { var k = this . text . charCodeAt ( j ) ; if ( /(?:\r\n|\r|\n)/ . test ( this . text . charAt ( j ) ) ) g . push ( c . x ) , f = Math . max ( f , c . x ) , h ++ , c . x = 0 , c . y += a . lineHeight , d = null ; else { var l = a . chars [ k ] ; l && ( d && l [ d ] && ( c . x += l . kerning [ d ] ) , e . pu
2014-02-05 16:54:35 +00:00
} , destroy : function ( ) { this . plugins . length = 0 , this . _pluginsLength = 0 , this . game = null , this . _parent = null } } , c . PluginManager . prototype . constructor = c . PluginManager , c . Stage = function ( a , d , e ) { this . game = a , this . _backgroundColor = "rgb(0,0,0)" , this . offset = new c . Point , this . canvas = null , this . _stage = new b . Stage ( 0 , ! 1 ) , this . _stage . name = "_stage_root" , this . _stage . interactive = ! 1 , this . display = this . _stage , this . scaleMode = c . StageScaleMode . NO _SCALE , this . fullScreenScaleMode = c . StageScaleMode . NO _SCALE , this . scale = new c . StageScaleMode ( this . game , d , e ) , this . aspectRatio = d / e , this . disableVisibilityChange = ! 1 , this . _nextOffsetCheck = 0 , this . checkOffsetInterval = 2500 , a . config ? this . parseConfig ( a . config ) : ( this . canvas = c . Canvas . create ( d , e ) , this . canvas . style [ "-webkit-full-screen" ] = "width: 100%; height: 100%" ) } , c . Stage . prototype = { parseConfig : function ( a ) { this . canvas = a . canvasID ? c . Canvas . create ( this . game . width , this . game . height , a . canvasID ) : c . Canvas . create ( this . game . width , this . game . height ) , a . canvasStyle ? this . canvas . stlye = a . canvasStyle : this . canvas . style [ "-webkit-full-screen" ] = "width: 100%; height: 100%" , a . checkOffsetInterval && ( this . checkOffsetInterval = a . checkOffsetInterval ) , a . disableVisibilityChange && ( this . disableVisibilityChange = a . disableVisibilityChange ) , a . fullScreenScaleMode && ( this . fullScreenScaleMode = a . fullScreenScaleMode ) , a . scaleMode && ( this . scaleMode = a . scaleMode ) , a . backgroundColor && ( this . backgroundColor = a . backgroundColor ) } , boot : function ( ) { c . Canvas . getOffset ( this . canvas , this . offset ) , this . bounds = new c . Rectangle ( this . offset . x , this . offset . y , this . game . width , this . game . height ) ; var a = this ; this . _onChange = function ( b ) { return a . visibilityChange ( b ) } , c . Canvas . setUserSelect ( this . canvas , "none" ) , c . Canvas . setTouchAction ( this . canvas , "none" ) , this . backgroundColor = "#000" , document . addEventListener ( "visibilitychange" , this . _onChange , ! 1 ) , document . addEventListener ( "webkitvisibilitychange" , this . _onChange , ! 1 ) , document . addEventListener ( "pagehide" , this . _onChange , ! 1 ) , document . addEventListener ( "pageshow" , this . _onChange , ! 1 ) , window . onblur = this . _onChange , window . onfocus = this . _onChange } , update : function ( ) { this . checkOffsetInterval !== ! 1 && this . game . time . now > this . _nextOffsetCheck && ( c . Canvas . getOffset ( this . canvas , this . offset ) , this . _nextOffsetCheck = this . game . time . now + this . checkOffsetInterval ) } , visibilityChange : function ( a ) { this . disableVisibilityChange || ( this . game . paused = this . game . paused !== ! 1 || "pagehide" != a . type && "blur" != a . type && document . hidden !== ! 0 && document . webkitHidden !== ! 0 ? ! 1 : ! 0 ) } } , c . Stage . prototype . constructor = c . Stage , Object . defineProperty ( c . Stage . prototype , "backgroundColor" , { get : function ( ) { return this . _backgroundColor } , set : function ( a ) { this . _backgroundColor = a , this . game . transparent === ! 1 && ( this . game . renderType == c . CANVAS ? this . game . canvas . style . backgroundColor = a : ( "string" == typeof a && ( a = c . Color . hexToRGB ( a ) ) , this . _stage . setBackgroundColor ( a ) ) ) } } ) , c . Group = function ( a , d , e , f ) { this . game = a , "undefined" == typeof d && ( d = a . world ) , this . name = e || "group" , "undefined" == typeof f && ( f = ! 1 ) , f ? this . _container = this . game . stage . _stage : ( this . _container = new b . DisplayObjectContainer , this . _container . name = this . name , d ? d instanceof c . Group ? d . _container . addChild ( this . _container ) : ( d . addChild ( this . _container ) , d . updateTransform ( ) ) : ( this . game . stage . _stage . addChild ( this . _container ) , this . game . stage . _stage . updateTransform ( ) ) ) , this . type = c . GROUP , this . alive = ! 0 , this . exists = ! 0 , this . group = null , this . _container . scale = new c . Point ( 1 , 1 ) , this . scale = this . _container . scale , this . pivot = this . _container . pivot , this . cursor = null } , c . Group . RETURN _NONE = 0 , c . Group . RETURN _TOTAL = 1 , c . Group . RETURN _CHILD = 2 , c . Group . SORT _ASCENDING = - 1 , c . Group . SORT _DESCENDING = 1 , c . Group . prototype = { add : function ( a ) { return a . group !== this && ( a . type && a . type === c . GROUP ? ( a . group = this , this . _container . addChild ( a . _container ) , a . _container . updateTransform ( ) ) : ( a . group = this , this . _container . addChild ( a ) , a . updateTransform ( ) , a . events && a . events . onAddedToGroup . dispatch ( a , this ) ) , null === this . cursor && ( this . cursor = a ) ) , a } , addAt : function ( a , b ) { return a . group !== this && ( a . type && a . type === c . GROUP ? ( a . group = this , this . _container . addChildAt ( a . _container , b ) , a . _container . updateTransform ( ) ) : ( a . group = this , this . _container . addChildAt ( a , b ) , a . updateTransform ( ) , a .
} , reset : function ( ) { for ( var a in this . _keys ) this . _keys [ a ] . isDown = ! 1 } , justPressed : function ( a , b ) { return "undefined" == typeof b && ( b = 250 ) , this . _keys [ a ] && this . _keys [ a ] . isDown && this . _keys [ a ] . duration < b ? ! 0 : ! 1 } , justReleased : function ( a , b ) { return "undefined" == typeof b && ( b = 250 ) , this . _keys [ a ] && this . _keys [ a ] . isDown === ! 1 && this . game . time . now - this . _keys [ a ] . timeUp < b ? ! 0 : ! 1 } , isDown : function ( a ) { return this . _keys [ a ] ? this . _keys [ a ] . isDown : ! 1 } } , c . Keyboard . prototype . constructor = c . Keyboard , c . Keyboard . A = "A" . charCodeAt ( 0 ) , c . Keyboard . B = "B" . charCodeAt ( 0 ) , c . Keyboard . C = "C" . charCodeAt ( 0 ) , c . Keyboard . D = "D" . charCodeAt ( 0 ) , c . Keyboard . E = "E" . charCodeAt ( 0 ) , c . Keyboard . F = "F" . charCodeAt ( 0 ) , c . Keyboard . G = "G" . charCodeAt ( 0 ) , c . Keyboard . H = "H" . charCodeAt ( 0 ) , c . Keyboard . I = "I" . charCodeAt ( 0 ) , c . Keyboard . J = "J" . charCodeAt ( 0 ) , c . Keyboard . K = "K" . charCodeAt ( 0 ) , c . Keyboard . L = "L" . charCodeAt ( 0 ) , c . Keyboard . M = "M" . charCodeAt ( 0 ) , c . Keyboard . N = "N" . charCodeAt ( 0 ) , c . Keyboard . O = "O" . charCodeAt ( 0 ) , c . Keyboard . P = "P" . charCodeAt ( 0 ) , c . Keyboard . Q = "Q" . charCodeAt ( 0 ) , c . Keyboard . R = "R" . charCodeAt ( 0 ) , c . Keyboard . S = "S" . charCodeAt ( 0 ) , c . Keyboard . T = "T" . charCodeAt ( 0 ) , c . Keyboard . U = "U" . charCodeAt ( 0 ) , c . Keyboard . V = "V" . charCodeAt ( 0 ) , c . Keyboard . W = "W" . charCodeAt ( 0 ) , c . Keyboard . X = "X" . charCodeAt ( 0 ) , c . Keyboard . Y = "Y" . charCodeAt ( 0 ) , c . Keyboard . Z = "Z" . charCodeAt ( 0 ) , c . Keyboard . ZERO = "0" . charCodeAt ( 0 ) , c . Keyboard . ONE = "1" . charCodeAt ( 0 ) , c . Keyboard . TWO = "2" . charCodeAt ( 0 ) , c . Keyboard . THREE = "3" . charCodeAt ( 0 ) , c . Keyboard . FOUR = "4" . charCodeAt ( 0 ) , c . Keyboard . FIVE = "5" . charCodeAt ( 0 ) , c . Keyboard . SIX = "6" . charCodeAt ( 0 ) , c . Keyboard . SEVEN = "7" . charCodeAt ( 0 ) , c . Keyboard . EIGHT = "8" . charCodeAt ( 0 ) , c . Keyboard . NINE = "9" . charCodeAt ( 0 ) , c . Keyboard . NUMPAD _0 = 96 , c . Keyboard . NUMPAD _1 = 97 , c . Keyboard . NUMPAD _2 = 98 , c . Keyboard . NUMPAD _3 = 99 , c . Keyboard . NUMPAD _4 = 100 , c . Keyboard . NUMPAD _5 = 101 , c . Keyboard . NUMPAD _6 = 102 , c . Keyboard . NUMPAD _7 = 103 , c . Keyboard . NUMPAD _8 = 104 , c . Keyboard . NUMPAD _9 = 105 , c . Keyboard . NUMPAD _MULTIPLY = 106 , c . Keyboard . NUMPAD _ADD = 107 , c . Keyboard . NUMPAD _ENTER = 108 , c . Keyboard . NUMPAD _SUBTRACT = 109 , c . Keyboard . NUMPAD _DECIMAL = 110 , c . Keyboard . NUMPAD _DIVIDE = 111 , c . Keyboard . F1 = 112 , c . Keyboard . F2 = 113 , c . Keyboard . F3 = 114 , c . Keyboard . F4 = 115 , c . Keyboard . F5 = 116 , c . Keyboard . F6 = 117 , c . Keyboard . F7 = 118 , c . Keyboard . F8 = 119 , c . Keyboard . F9 = 120 , c . Keyboard . F10 = 121 , c . Keyboard . F11 = 122 , c . Keyboard . F12 = 123 , c . Keyboard . F13 = 124 , c . Keyboard . F14 = 125 , c . Keyboard . F15 = 126 , c . Keyboard . COLON = 186 , c . Keyboard . EQUALS = 187 , c . Keyboard . UNDERSCORE = 189 , c . Keyboard . QUESTION _MARK = 191 , c . Keyboard . TILDE = 192 , c . Keyboard . OPEN _BRACKET = 219 , c . Keyboard . BACKWARD _SLASH = 220 , c . Keyboard . CLOSED _BRACKET = 221 , c . Keyboard . QUOTES = 222 , c . Keyboard . BACKSPACE = 8 , c . Keyboard . TAB = 9 , c . Keyboard . CLEAR = 12 , c . Keyboard . ENTER = 13 , c . Keyboard . SHIFT = 16 , c . Keyboard . CONTROL = 17 , c . Keyboard . ALT = 18 , c . Keyboard . CAPS _LOCK = 20 , c . Keyboard . ESC = 27 , c . Keyboard . SPACEBAR = 32 , c . Keyboard . PAGE _UP = 33 , c . Keyboard . PAGE _DOWN = 34 , c . Keyboard . END = 35 , c . Keyboard . HOME = 36 , c . Keyboard . LEFT = 37 , c . Keyboard . UP = 38 , c . Keyboard . RIGHT = 39 , c . Keyboard . DOWN = 40 , c . Keyboard . INSERT = 45 , c . Keyboard . DELETE = 46 , c . Keyboard . HELP = 47 , c . Keyboard . NUM _LOCK = 144 , c . Mouse = function ( a ) { this . game = a , this . callbackContext = this . game , this . mouseDownCallback = null , this . mouseMoveCallback = null , this . mouseUpCallback = null , this . capture = ! 1 , this . button = - 1 , this . disabled = ! 1 , this . locked = ! 1 , this . pointerLock = new c . Signal , this . event = null , this . _onMouseDown = null , this . _onMouseMove = null , this . _onMouseUp = null } , c . Mouse . NO _BUTTON = - 1 , c . Mouse . LEFT _BUTTON = 0 , c . Mouse . MIDDLE _BUTTON = 1 , c . Mouse . RIGHT _BUTTON = 2 , c . Mouse . prototype = { start : function ( ) { var a = this ; this . game . device . android && this . game . device . chrome === ! 1 || ( this . _onMouseDown = function ( b ) { return a . onMouseDown ( b ) } , this . _onMouseMove = function ( b ) { return a . onMouseMove ( b ) } , this . _onMouseUp = function ( b ) { return a . onMouseUp ( b ) } , document . addEventListener ( "mousedown" , this . _onMouseDown , ! 0 ) , document . addEventListener ( "mousemove" , this . _onMouseMove , ! 0 ) , document . addEventListener ( "mouseup" , this . _onMouseUp , ! 0 ) ) } , onMouseDown : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . button = a . which , this . mouseDownCallback && this . mouseDownCallback . call ( this . callbackContext , a ) , this . game . input . disabled || this . disabled || ( a . identifier = 0 , this . game . input . mousePointer . start ( a ) ) } , on
} , update : function ( ) { this . _pollGamepads ( ) ; for ( var a = 0 ; a < this . _gamepads . length ; a ++ ) this . _gamepads [ a ] . _connected && this . _gamepads [ a ] . pollStatus ( ) } , _pollGamepads : function ( ) { var a = navigator . webkitGetGamepads && navigator . webkitGetGamepads ( ) || navigator . webkitGamepads ; if ( a ) { this . _rawPads = [ ] ; for ( var b = ! 1 , c = 0 ; c < a . length && ( typeof a [ c ] !== this . _prevRawGamepadTypes [ c ] && ( b = ! 0 , this . _prevRawGamepadTypes [ c ] = typeof a [ c ] ) , a [ c ] && this . _rawPads . push ( a [ c ] ) , 3 !== c ) ; c ++ ) ; if ( b ) { for ( var d , e = { rawIndices : { } , padIndices : { } } , f = 0 ; f < this . _gamepads . length ; f ++ ) if ( d = this . _gamepads [ f ] , d . connected ) for ( var g = 0 ; g < this . _rawPads . length ; g ++ ) this . _rawPads [ g ] . index === d . index && ( e . rawIndices [ d . index ] = ! 0 , e . padIndices [ f ] = ! 0 ) ; for ( var h = 0 ; h < this . _gamepads . length ; h ++ ) if ( d = this . _gamepads [ h ] , ! e . padIndices [ h ] ) { this . _rawPads . length < 1 && d . disconnect ( ) ; for ( var i = 0 ; i < this . _rawPads . length && ! e . padIndices [ h ] ; i ++ ) { var j = this . _rawPads [ i ] ; if ( j ) { if ( e . rawIndices [ j . index ] ) { d . disconnect ( ) ; continue } d . connect ( j ) , e . rawIndices [ j . index ] = ! 0 , e . padIndices [ h ] = ! 0 } else d . disconnect ( ) } } } } } , setDeadZones : function ( a ) { for ( var b = 0 ; b < this . _gamepads . length ; b ++ ) this . _gamepads [ b ] . deadZone = a } , stop : function ( ) { this . _active = ! 1 , window . removeEventListener ( "gamepadconnected" , this . _ongamepadconnected ) , window . removeEventListener ( "gamepaddisconnected" , this . _ongamepaddisconnected ) } , reset : function ( ) { this . update ( ) ; for ( var a = 0 ; a < this . _gamepads . length ; a ++ ) this . _gamepads [ a ] . reset ( ) } , justPressed : function ( a , b ) { for ( var c = 0 ; c < this . _gamepads . length ; c ++ ) if ( this . _gamepads [ c ] . justPressed ( a , b ) === ! 0 ) return ! 0 ; return ! 1 } , justReleased : function ( a , b ) { for ( var c = 0 ; c < this . _gamepads . length ; c ++ ) if ( this . _gamepads [ c ] . justReleased ( a , b ) === ! 0 ) return ! 0 ; return ! 1 } , isDown : function ( a ) { for ( var b = 0 ; b < this . _gamepads . length ; b ++ ) if ( this . _gamepads [ b ] . isDown ( a ) === ! 0 ) return ! 0 ; return ! 1 } } , c . Gamepad . prototype . constructor = c . Gamepad , Object . defineProperty ( c . Gamepad . prototype , "active" , { get : function ( ) { return this . _active } } ) , Object . defineProperty ( c . Gamepad . prototype , "supported" , { get : function ( ) { return this . _gamepadSupportAvailable } } ) , Object . defineProperty ( c . Gamepad . prototype , "padsConnected" , { get : function ( ) { return this . _rawPads . length } } ) , Object . defineProperty ( c . Gamepad . prototype , "pad1" , { get : function ( ) { return this . _gamepads [ 0 ] } } ) , Object . defineProperty ( c . Gamepad . prototype , "pad2" , { get : function ( ) { return this . _gamepads [ 1 ] } } ) , Object . defineProperty ( c . Gamepad . prototype , "pad3" , { get : function ( ) { return this . _gamepads [ 2 ] } } ) , Object . defineProperty ( c . Gamepad . prototype , "pad4" , { get : function ( ) { return this . _gamepads [ 3 ] } } ) , c . Gamepad . BUTTON _0 = 0 , c . Gamepad . BUTTON _1 = 1 , c . Gamepad . BUTTON _2 = 2 , c . Gamepad . BUTTON _3 = 3 , c . Gamepad . BUTTON _4 = 4 , c . Gamepad . BUTTON _5 = 5 , c . Gamepad . BUTTON _6 = 6 , c . Gamepad . BUTTON _7 = 7 , c . Gamepad . BUTTON _8 = 8 , c . Gamepad . BUTTON _9 = 9 , c . Gamepad . BUTTON _10 = 10 , c . Gamepad . BUTTON _11 = 11 , c . Gamepad . BUTTON _12 = 12 , c . Gamepad . BUTTON _13 = 13 , c . Gamepad . BUTTON _14 = 14 , c . Gamepad . BUTTON _15 = 15 , c . Gamepad . AXIS _0 = 0 , c . Gamepad . AXIS _1 = 1 , c . Gamepad . AXIS _2 = 2 , c . Gamepad . AXIS _3 = 3 , c . Gamepad . AXIS _4 = 4 , c . Gamepad . AXIS _5 = 5 , c . Gamepad . AXIS _6 = 6 , c . Gamepad . AXIS _7 = 7 , c . Gamepad . AXIS _8 = 8 , c . Gamepad . AXIS _9 = 9 , c . Gamepad . XBOX360 _A = 0 , c . Gamepad . XBOX360 _B = 1 , c . Gamepad . XBOX360 _X = 2 , c . Gamepad . XBOX360 _Y = 3 , c . Gamepad . XBOX360 _LEFT _BUMPER = 4 , c . Gamepad . XBOX360 _RIGHT _BUMPER = 5 , c . Gamepad . XBOX360 _LEFT _TRIGGER = 6 , c . Gamepad . XBOX360 _RIGHT _TRIGGER = 7 , c . Gamepad . XBOX360 _BACK = 8 , c . Gamepad . XBOX360 _START = 9 , c . Gamepad . XBOX360 _STICK _LEFT _BUTTON = 10 , c . Gamepad . XBOX360 _STICK _RIGHT _BUTTON = 11 , c . Gamepad . XBOX360 _DPAD _LEFT = 14 , c . Gamepad . XBOX360 _DPAD _RIGHT = 15 , c . Gamepad . XBOX360 _DPAD _UP = 12 , c . Gamepad . XBOX360 _DPAD _DOWN = 13 , c . Gamepad . XBOX360 _STICK _LEFT _X = 0 , c . Gamepad . XBOX360 _STICK _LEFT _Y = 1 , c . Gamepad . XBOX360 _STICK _RIGHT _X = 2 , c . Gamepad . XBOX360 _STICK _RIGHT _Y = 3 , c . SinglePad = function ( a , b ) { this . game = a , this . _padParent = b , this . _index = null , this . _rawPad = null , this . _connected = ! 1 , this . _prevTimestamp = null , this . _rawButtons = [ ] , this . _buttons = [ ] , this . _axes = [ ] , this . _hotkeys = [ ] , this . callbackContext = this , this . onConnectCallback = null , this . onDisconnectCallback = null , this . onDownCallback = null , this . onUpCallback = null , this . onAxisCallback = null , this . onFloatCallback = null , this . deadZone = . 26 } , c . SinglePad . prototype = { addCallbacks : function ( a , b ) { " undef
} , c . TileSprite . prototype = c . Utils . extend ( ! 0 , b . TilingSprite . prototype , c . Sprite . prototype ) , c . TileSprite . prototype . constructor = c . TileSprite , Object . defineProperty ( c . TileSprite . prototype , "angle" , { get : function ( ) { return c . Math . wrapAngle ( c . Math . radToDeg ( this . rotation ) ) } , set : function ( a ) { this . rotation = c . Math . degToRad ( c . Math . wrapAngle ( a ) ) } } ) , Object . defineProperty ( c . TileSprite . prototype , "frame" , { get : function ( ) { return this . animations . frame } , set : function ( a ) { this . animations . frame = a } } ) , Object . defineProperty ( c . TileSprite . prototype , "frameName" , { get : function ( ) { return this . animations . frameName } , set : function ( a ) { this . animations . frameName = a } } ) , Object . defineProperty ( c . TileSprite . prototype , "inCamera" , { get : function ( ) { return this . _cache . cameraVisible } } ) , Object . defineProperty ( c . TileSprite . prototype , "inputEnabled" , { get : function ( ) { return this . input . enabled } , set : function ( a ) { a ? this . input . enabled === ! 1 && this . input . start ( ) : this . input . enabled && this . input . stop ( ) } } ) , c . Text = function ( a , d , e , f , g ) { d = d || 0 , e = e || 0 , f = f || "" , g = g || "" , this . game = a , this . exists = ! 0 , this . alive = ! 0 , this . group = null , this . name = "" , this . type = c . TEXT , this . _text = f , this . _style = g , b . Text . call ( this , f , g ) , this . position . x = this . x = d , this . position . y = this . y = e , this . anchor = new c . Point , this . scale = new c . Point ( 1 , 1 ) , this . fixedToCamera = ! 1 , this . cameraOffset = new c . Point ( d , e ) , this . _cache = { dirty : ! 1 , a00 : 1 , a01 : 0 , a02 : d , a10 : 0 , a11 : 1 , a12 : e , id : 1 , x : - 1 , y : - 1 , scaleX : 1 , scaleY : 1 } , this . _cache . x = this . x , this . _cache . y = this . y , this . renderable = ! 0 } , c . Text . prototype = Object . create ( b . Text . prototype ) , c . Text . prototype . constructor = c . Text , c . Text . prototype . update = function ( ) { this . exists && ( this . fixedToCamera && ( this . x = this . game . camera . view . x + this . cameraOffset . x , this . y = this . game . camera . view . y + this . cameraOffset . y ) , this . _cache . dirty = ! 1 , this . _cache . x = this . x , this . _cache . y = this . y , ( this . position . x != this . _cache . x || this . position . y != this . _cache . y ) && ( this . position . x = this . _cache . x , this . position . y = this . _cache . y , this . _cache . dirty = ! 0 ) ) } , c . Text . prototype . destroy = function ( ) { this . group && this . group . remove ( this ) , this . canvas . parentNode ? this . canvas . parentNode . removeChild ( this . canvas ) : ( this . canvas = null , this . context = null ) , this . exists = ! 1 , this . group = null } , Object . defineProperty ( c . Text . prototype , "angle" , { get : function ( ) { return c . Math . radToDeg ( this . rotation ) } , set : function ( a ) { this . rotation = c . Math . degToRad ( a ) } } ) , Object . defineProperty ( c . Text . prototype , "x" , { get : function ( ) { return this . position . x } , set : function ( a ) { this . position . x = a } } ) , Object . defineProperty ( c . Text . prototype , "y" , { get : function ( ) { return this . position . y } , set : function ( a ) { this . position . y = a } } ) , Object . defineProperty ( c . Text . prototype , "content" , { get : function ( ) { return this . _text } , set : function ( a ) { a !== this . _text && ( this . _text = a , this . setText ( a ) ) } } ) , Object . defineProperty ( c . Text . prototype , "font" , { get : function ( ) { return this . _style } , set : function ( a ) { a !== this . _style && ( this . _style = a , this . setStyle ( a ) ) } } ) , c . BitmapText = function ( a , d , e , f , g ) { d = d || 0 , e = e || 0 , f = f || "" , g = g || "" , this . game = a , this . exists = ! 0 , this . alive = ! 0 , this . group = null , this . name = "" , this . type = c . BITMAPTEXT , b . BitmapText . call ( this , f , g ) , this . position . x = d , this . position . y = e , this . anchor = new c . Point , this . scale = new c . Point ( 1 , 1 ) , this . _cache = { dirty : ! 1 , a00 : 1 , a01 : 0 , a02 : d , a10 : 0 , a11 : 1 , a12 : e , id : 1 , x : - 1 , y : - 1 , scaleX : 1 , scaleY : 1 } , this . _cache . x = this . x , this . _cache . y = this . y } , c . BitmapText . prototype = Object . create ( b . BitmapText . prototype ) , c . BitmapText . prototype . constructor = c . BitmapText , c . BitmapText . prototype . update = function ( ) { this . exists && ( this . _cache . dirty = ! 1 , this . _cache . x = this . x , this . _cache . y = this . y , ( this . position . x != this . _cache . x || this . position . y != this . _cache . y ) && ( this . position . x = this . _cache . x , this . position . y = this . _cache . y , this . _cache . dirty = ! 0 ) , this . pivot . x = this . anchor . x * this . width , this . pivot . y = this . anchor . y * this . height ) } , c . BitmapText . prototype . destroy = function ( ) { this . group && this . group . remove ( this ) , this . canvas && this . canvas . parentNode ? this . canvas . parentNode . removeChild ( this . canvas ) : ( this . canvas = null , this . context = null ) , this . exists = ! 1 , this . group = null } , Object . defineProperty ( c . BitmapText . prototype , "angle" , { get : function ( ) { return c . Math . radToDeg ( this . rotation ) } , set : function ( a ) { this . rotation = c . Math . degToRad ( a ) } } ) , Object . definePr
} , fuzzyLessThan : function ( a , b , c ) { return "undefined" == typeof c && ( c = 1e-4 ) , b + c > a } , fuzzyGreaterThan : function ( a , b , c ) { return "undefined" == typeof c && ( c = 1e-4 ) , a > b - c } , fuzzyCeil : function ( a , b ) { return "undefined" == typeof b && ( b = 1e-4 ) , Math . ceil ( a - b ) } , fuzzyFloor : function ( a , b ) { return "undefined" == typeof b && ( b = 1e-4 ) , Math . floor ( a + b ) } , average : function ( ) { for ( var a = [ ] , b = 0 ; b < arguments . length - 0 ; b ++ ) a [ b ] = arguments [ b + 0 ] ; for ( var c = 0 , d = 0 ; d < a . length ; d ++ ) c += a [ d ] ; return c / a . length } , truncate : function ( a ) { return a > 0 ? Math . floor ( a ) : Math . ceil ( a ) } , shear : function ( a ) { return a % 1 } , snapTo : function ( a , b , c ) { return "undefined" == typeof c && ( c = 0 ) , 0 === b ? a : ( a -= c , a = b * Math . round ( a / b ) , c + a ) } , snapToFloor : function ( a , b , c ) { return "undefined" == typeof c && ( c = 0 ) , 0 === b ? a : ( a -= c , a = b * Math . floor ( a / b ) , c + a ) } , snapToCeil : function ( a , b , c ) { return "undefined" == typeof c && ( c = 0 ) , 0 === b ? a : ( a -= c , a = b * Math . ceil ( a / b ) , c + a ) } , snapToInArray : function ( a , b , c ) { if ( "undefined" == typeof c && ( c = ! 0 ) , c && b . sort ( ) , a < b [ 0 ] ) return b [ 0 ] ; for ( var d = 1 ; b [ d ] < a ; ) d ++ ; var e = b [ d - 1 ] , f = d < b . length ? b [ d ] : Number . POSITIVE _INFINITY ; return a - e >= f - a ? f : e } , roundTo : function ( a , b , c ) { "undefined" == typeof b && ( b = 0 ) , "undefined" == typeof c && ( c = 10 ) ; var d = Math . pow ( c , - b ) ; return Math . round ( a * d ) / d } , floorTo : function ( a , b , c ) { "undefined" == typeof b && ( b = 0 ) , "undefined" == typeof c && ( c = 10 ) ; var d = Math . pow ( c , - b ) ; return Math . floor ( a * d ) / d } , ceilTo : function ( a , b , c ) { "undefined" == typeof b && ( b = 0 ) , "undefined" == typeof c && ( c = 10 ) ; var d = Math . pow ( c , - b ) ; return Math . ceil ( a * d ) / d } , interpolateFloat : function ( a , b , c ) { return ( b - a ) * c + a } , angleBetween : function ( a , b , c , d ) { return Math . atan2 ( d - b , c - a ) } , reverseAngle : function ( a ) { return this . normalizeAngle ( a + Math . PI , ! 0 ) } , normalizeAngle : function ( a ) { return a %= 2 * Math . PI , a >= 0 ? a : a + 2 * Math . PI } , normalizeLatitude : function ( a ) { return Math . max ( - 90 , Math . min ( 90 , a ) ) } , normalizeLongitude : function ( a ) { return 180 == a % 360 ? 180 : ( a %= 360 , - 180 > a ? a + 360 : a > 180 ? a - 360 : a ) } , nearestAngleBetween : function ( a , b , c ) { "undefined" == typeof c && ( c = ! 0 ) ; var d = c ? Math . PI : 180 ; return a = this . normalizeAngle ( a , c ) , b = this . normalizeAngle ( b , c ) , - d / 2 > a && b > d / 2 && ( a += 2 * d ) , - d / 2 > b && a > d / 2 && ( b += 2 * d ) , b - a } , interpolateAngles : function ( a , b , c , d , e ) { return "undefined" == typeof d && ( d = ! 0 ) , "undefined" == typeof e && ( e = null ) , a = this . normalizeAngle ( a , d ) , b = this . normalizeAngleToAnother ( b , a , d ) , "function" == typeof e ? e ( c , a , b - a , 1 ) : this . interpolateFloat ( a , b , c ) } , chanceRoll : function ( a ) { return "undefined" == typeof a && ( a = 50 ) , 0 >= a ? ! 1 : a >= 100 ? ! 0 : 100 * Math . random ( ) >= a ? ! 1 : ! 0 } , numberArray : function ( a , b ) { for ( var c = [ ] , d = a ; b >= d ; d ++ ) c . push ( d ) ; return c } , maxAdd : function ( a , b , c ) { return a += b , a > c && ( a = c ) , a } , minSub : function ( a , b , c ) { return a -= b , c > a && ( a = c ) , a } , wrap : function ( a , b , c ) { var d = c - b ; if ( 0 >= d ) return 0 ; var e = ( a - b ) % d ; return 0 > e && ( e += d ) , e + b } , wrapValue : function ( a , b , c ) { var d ; return a = Math . abs ( a ) , b = Math . abs ( b ) , c = Math . abs ( c ) , d = ( a + b ) % c } , randomSign : function ( ) { return Math . random ( ) > . 5 ? 1 : - 1 } , isOdd : function ( a ) { return 1 & a } , isEven : function ( a ) { return 1 & a ? ! 1 : ! 0 } , max : function ( ) { for ( var a = 1 , b = 0 , c = arguments . length ; c > a ; a ++ ) arguments [ b ] < arguments [ a ] && ( b = a ) ; return arguments [ b ] } , min : function ( ) { if ( 1 === arguments . length && "object" == typeof arguments [ 0 ] ) var a = arguments [ 0 ] ; else var a = arguments ; for ( var b = 1 , c = 0 , d = a . length ; d > b ; b ++ ) a [ b ] < a [ c ] && ( c = b ) ; return a [ c ] } , max : function ( ) { if ( 1 === arguments . length && "object" == typeof arguments [ 0 ] ) var a = arguments [ 0 ] ; else var a = arguments ; for ( var b = 1 , c = 0 , d = a . length ; d > b ; b ++ ) a [ b ] > a [ c ] && ( c = b ) ; return a [ c ] } , minProperty : function ( a ) { if ( 2 === arguments . length && "object" == typeof arguments [ 1 ] ) var b = arguments [ 1 ] ; else var b = arguments . slice ( 1 ) ; for ( var c = 1 , d = 0 , e = b . length ; e > c ; c ++ ) b [ c ] [ a ] < b [ d ] [ a ] && ( d = c ) ; return b [ d ] [ a ] } , maxProperty : function ( a ) { if ( 2 === arguments . length && "object" == typeof arguments [ 1 ] ) var b = arguments [ 1 ] ; else var b = arguments . slice ( 1 ) ; for ( var c = 1 , d = 0 , e = b . length ; e > c ; c ++ ) b [ c ] [ a ] > b [ d ] [ a ] && ( d = c ) ; return b [ d ] [ a ] } , wrapAngle : function ( a ) { return this . wrap ( a , - 180 , 180 ) } , angleLimit : function ( a , b , c ) { var d = a ; return a > c ? d = c : b > a && ( d = b ) , d } , linearInterpolation : function ( a , b ) { var c = a . length - 1 , d = c * b , e = Math . floor ( d ) ; return 0 > b ? this . linear ( a [ 0 ] , a [ 1 ] , d ) : b > 1 ? this . linear ( a [ c ] , a [ c - 1 ] , c - d ) : this . linear ( a [ e ] , a [ e + 1 > c ? c : e + 1 ] , d - e ) } , bezierInterpolation : function ( a , b ) { for ( var c = 0 , d = a . length - 1 , e = 0 ; d >= e ; e ++ ) c += Math . pow ( 1 - b , d - e ) * Math . p
} } ) , Object . defineProperty ( c . Timer . prototype , "duration" , { get : function ( ) { return this . running && this . nextTick > this . _now ? this . nextTick - this . _now : 0 } } ) , Object . defineProperty ( c . Timer . prototype , "length" , { get : function ( ) { return this . events . length } } ) , Object . defineProperty ( c . Timer . prototype , "ms" , { get : function ( ) { return this . _now } } ) , Object . defineProperty ( c . Timer . prototype , "seconds" , { get : function ( ) { return . 001 * this . _now } } ) , c . Timer . prototype . constructor = c . Timer , c . TimerEvent = function ( a , b , c , d , e , f , g , h ) { this . timer = a , this . delay = b , this . tick = c , this . repeatCount = d - 1 , this . loop = e , this . callback = f , this . callbackContext = g , this . args = h } , c . TimerEvent . prototype . constructor = c . TimerEvent , c . AnimationManager = function ( a ) { this . sprite = a , this . game = a . game , this . currentFrame = null , this . updateIfVisible = ! 0 , this . isLoaded = ! 1 , this . _frameData = null , this . _anims = { } , this . _outputFrames = [ ] } , c . AnimationManager . prototype = { loadFrameData : function ( a ) { this . _frameData = a , this . frame = 0 , this . isLoaded = ! 0 } , add : function ( a , d , e , f , g ) { return null == this . _frameData ? ( console . warn ( "No FrameData available for Phaser.Animation " + a ) , void 0 ) : ( e = e || 60 , "undefined" == typeof f && ( f = ! 1 ) , "undefined" == typeof g && ( g = d && "number" == typeof d [ 0 ] ? ! 0 : ! 1 ) , null == this . sprite . events . onAnimationStart && ( this . sprite . events . onAnimationStart = new c . Signal , this . sprite . events . onAnimationComplete = new c . Signal , this . sprite . events . onAnimationLoop = new c . Signal ) , this . _outputFrames . length = 0 , this . _frameData . getFrameIndexes ( d , g , this . _outputFrames ) , this . _anims [ a ] = new c . Animation ( this . game , this . sprite , a , this . _frameData , this . _outputFrames , e , f ) , this . currentAnim = this . _anims [ a ] , this . currentFrame = this . currentAnim . currentFrame , this . sprite . setTexture ( b . TextureCache [ this . currentFrame . uuid ] ) , this . _anims [ a ] ) } , validateFrames : function ( a , b ) { "undefined" == typeof b && ( b = ! 0 ) ; for ( var c = 0 ; c < a . length ; c ++ ) if ( b === ! 0 ) { if ( a [ c ] > this . _frameData . total ) return ! 1 } else if ( this . _frameData . checkFrameName ( a [ c ] ) === ! 1 ) return ! 1 ; return ! 0 } , play : function ( a , b , c , d ) { if ( this . _anims [ a ] ) { if ( this . currentAnim != this . _anims [ a ] ) return this . currentAnim = this . _anims [ a ] , this . currentAnim . paused = ! 1 , this . currentAnim . play ( b , c , d ) ; if ( this . currentAnim . isPlaying === ! 1 ) return this . currentAnim . paused = ! 1 , this . currentAnim . play ( b , c , d ) } } , stop : function ( a , b ) { "undefined" == typeof b && ( b = ! 1 ) , "string" == typeof a ? this . _anims [ a ] && ( this . currentAnim = this . _anims [ a ] , this . currentAnim . stop ( b ) ) : this . currentAnim && this . currentAnim . stop ( b ) } , update : function ( ) { return this . updateIfVisible && this . sprite . visible === ! 1 ? ! 1 : this . currentAnim && this . currentAnim . update ( ) === ! 0 ? ( this . currentFrame = this . currentAnim . currentFrame , this . sprite . currentFrame = this . currentFrame , ! 0 ) : ! 1 } , getAnimation : function ( a ) { return "string" == typeof a && this . _anims [ a ] ? this . _anims [ a ] : null } , refreshFrame : function ( ) { this . sprite . currentFrame = this . currentFrame , this . sprite . setTexture ( b . TextureCache [ this . currentFrame . uuid ] ) } , destroy : function ( ) { this . _anims = { } , this . _frameData = null , this . _frameIndex = 0 , this . currentAnim = null , this . currentFrame = null } } , c . AnimationManager . prototype . constructor = c . AnimationManager , Object . defineProperty ( c . AnimationManager . prototype , "frameData" , { get : function ( ) { return this . _frameData } } ) , Object . defineProperty ( c . AnimationManager . prototype , "frameTotal" , { get : function ( ) { return this . _frameData ? this . _frameData . total : - 1 } } ) , Object . defineProperty ( c . AnimationManager . prototype , "paused" , { get : function ( ) { return this . currentAnim . isPaused } , set : function ( a ) { this . currentAnim . paused = a } } ) , Object . defineProperty ( c . AnimationManager . prototype , "frame" , { get : function ( ) { return this . currentFrame ? this . _frameIndex : void 0 } , set : function ( a ) { "number" == typeof a && this . _frameData && null !== this . _frameData . getFrame ( a ) && ( this . currentFrame = this . _frameData . getFrame ( a ) , this . _frameIndex = a , this . sprite . currentFrame = this . currentFrame , this . sprite . setTexture ( b . TextureCache [ this . currentFrame . uuid ] ) ) } } ) , Object . defineProperty ( c . AnimationManager . prototype , "frameName" , { get : function ( ) { return this . currentFrame ? this . currentFrame . name : void 0 } , set : function ( a ) { "string" == typeof a && this . _frameData && null !== this . _frameData . getFrameByName ( a ) ? ( this . currentFrame = this . _frameData . getFrameByName ( a ) , this . _frameIndex = this . currentFrame . index ,
return a } , totalQueuedFiles : function ( ) { for ( var a = 0 , b = 0 ; b < this . _fileList . length ; b ++ ) this . _fileList [ b ] . loaded === ! 1 && a ++ ; return a } } , c . Loader . prototype . constructor = c . Loader , c . LoaderParser = { bitmapFont : function ( a , c , d ) { if ( ! c . getElementsByTagName ( "font" ) ) return console . warn ( "Phaser.LoaderParser.bitmapFont: Invalid XML given, missing <font> tag" ) , void 0 ; var e = b . TextureCache [ d ] , f = { } , g = c . getElementsByTagName ( "info" ) [ 0 ] , h = c . getElementsByTagName ( "common" ) [ 0 ] ; f . font = g . attributes . getNamedItem ( "face" ) . nodeValue , f . size = parseInt ( g . attributes . getNamedItem ( "size" ) . nodeValue , 10 ) , f . lineHeight = parseInt ( h . attributes . getNamedItem ( "lineHeight" ) . nodeValue , 10 ) , f . chars = { } ; for ( var i = c . getElementsByTagName ( "char" ) , j = 0 ; j < i . length ; j ++ ) { var k = parseInt ( i [ j ] . attributes . getNamedItem ( "id" ) . nodeValue , 10 ) , l = { x : parseInt ( i [ j ] . attributes . getNamedItem ( "x" ) . nodeValue , 10 ) , y : parseInt ( i [ j ] . attributes . getNamedItem ( "y" ) . nodeValue , 10 ) , width : parseInt ( i [ j ] . attributes . getNamedItem ( "width" ) . nodeValue , 10 ) , height : parseInt ( i [ j ] . attributes . getNamedItem ( "height" ) . nodeValue , 10 ) } ; b . TextureCache [ k ] = new b . Texture ( e , l ) , f . chars [ k ] = { xOffset : parseInt ( i [ j ] . attributes . getNamedItem ( "xoffset" ) . nodeValue , 10 ) , yOffset : parseInt ( i [ j ] . attributes . getNamedItem ( "yoffset" ) . nodeValue , 10 ) , xAdvance : parseInt ( i [ j ] . attributes . getNamedItem ( "xadvance" ) . nodeValue , 10 ) , kerning : { } , texture : new b . Texture ( e , l ) } } var m = c . getElementsByTagName ( "kerning" ) ; for ( j = 0 ; j < m . length ; j ++ ) { var n = parseInt ( m [ j ] . attributes . getNamedItem ( "first" ) . nodeValue , 10 ) , o = parseInt ( m [ j ] . attributes . getNamedItem ( "second" ) . nodeValue , 10 ) , p = parseInt ( m [ j ] . attributes . getNamedItem ( "amount" ) . nodeValue , 10 ) ; f . chars [ o ] . kerning [ n ] = p } b . BitmapText . fonts [ f . font ] = f } } , c . Sound = function ( a , b , d , e , f ) { "undefined" == typeof d && ( d = 1 ) , "undefined" == typeof e && ( e = ! 1 ) , "undefined" == typeof f && ( f = a . sound . connectToMaster ) , this . game = a , this . name = b , this . key = b , this . loop = e , this . _volume = d , this . markers = { } , this . context = null , this . _buffer = null , this . _muted = ! 1 , this . autoplay = ! 1 , this . totalDuration = 0 , this . startTime = 0 , this . currentTime = 0 , this . duration = 0 , this . stopTime = 0 , this . paused = ! 1 , this . pausedPosition = 0 , this . pausedTime = 0 , this . isPlaying = ! 1 , this . currentMarker = "" , this . pendingPlayback = ! 1 , this . override = ! 1 , this . usingWebAudio = this . game . sound . usingWebAudio , this . usingAudioTag = this . game . sound . usingAudioTag , this . externalNode = null , this . usingWebAudio ? ( this . context = this . game . sound . context , this . masterGainNode = this . game . sound . masterGain , this . gainNode = "undefined" == typeof this . context . createGain ? this . context . createGainNode ( ) : this . context . createGain ( ) , this . gainNode . gain . value = d * this . game . sound . volume , f && this . gainNode . connect ( this . masterGainNode ) ) : this . game . cache . getSound ( b ) && this . game . cache . isSoundReady ( b ) ? ( this . _sound = this . game . cache . getSoundData ( b ) , this . totalDuration = 0 , this . _sound . duration && ( this . totalDuration = this . _sound . duration ) ) : this . game . cache . onSoundUnlock . add ( this . soundHasUnlocked , this ) , this . onDecoded = new c . Signal , this . onPlay = new c . Signal , this . onPause = new c . Signal , this . onResume = new c . Signal , this . onLoop = new c . Signal , this . onStop = new c . Signal , this . onMute = new c . Signal , this . onMarkerComplete = new c . Signal } , c . Sound . prototype = { soundHasUnlocked : function ( a ) { a == this . key && ( this . _sound = this . game . cache . getSoundData ( this . key ) , this . totalDuration = this . _sound . duration ) } , addMarker : function ( a , b , c , d , e ) { d = d || 1 , "undefined" == typeof e && ( e = ! 1 ) , this . markers [ a ] = { name : a , start : b , stop : b + c , volume : d , duration : c , durationMS : 1e3 * c , loop : e } } , removeMarker : function ( a ) { delete this . markers [ a ] } , update : function ( ) { 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 . now - this . startTime , this . currentTime >= this . durationMS && ( this . usingWebAudio ? this . loop ? ( this . onLoop . dispatch ( this ) , "" === this . currentMarker ? ( this . currentTime = 0 , this . startTime = this . game . time . now ) : this . play ( this . currentMarker , 0 , this . volume , ! 0 , ! 0 ) ) : this . stop ( ) : this . loop ? ( this . onLoop . dispatch ( this ) , this . play ( this . currentMarker , 0 , this . volume , ! 0 , ! 0 ) ) : this . stop ( ) ) ) } , play : function ( a , b , c , d , e ) { if ( a = a || "" , b = b || 0 , "undefined" == typeof c && ( c = this . _vol
} , a . prototype . len = a . prototype . len = function ( ) { return Math . sqrt ( this . len2 ( ) ) } , m . Circle = b , m . Polygon = c , c . prototype . recalc = c . prototype . recalc = function ( ) { this . edges = [ ] , this . normals = [ ] ; for ( var b = this . points , c = b . length , d = 0 ; c > d ; d ++ ) { var e = b [ d ] , f = c - 1 > d ? b [ d + 1 ] : b [ 0 ] , g = ( new a ) . copy ( f ) . sub ( e ) , h = ( new a ) . copy ( g ) . perp ( ) . normalize ( ) ; this . edges . push ( g ) , this . normals . push ( h ) } return this } , c . prototype . rotate = c . prototype . rotate = function ( a ) { var b , c = this . points , d = this . edges , e = this . normals , f = c . length , g = Math . cos ( a ) , h = Math . sin ( a ) ; for ( b = 0 ; f > b ; b ++ ) c [ b ] . rotatePrecalc ( h , g ) , d [ b ] . rotatePrecalc ( h , g ) , e [ b ] . rotatePrecalc ( h , g ) ; return this } , c . prototype . scale = c . prototype . scale = function ( a , b ) { var c , d = this . points , e = this . edges , f = this . normals , g = d . length ; for ( c = 0 ; g > c ; c ++ ) d [ c ] . scale ( a , b ) , e [ c ] . scale ( a , b ) , f [ c ] . scale ( a , b ) ; return this } , c . prototype . translate = c . prototype . translate = function ( a , b ) { var c , d = this . points , e = d . length ; for ( c = 0 ; e > c ; c ++ ) d [ c ] . x += a , d [ c ] . y += b ; return this } , m . Box = d , d . prototype . toPolygon = d . prototype . toPolygon = function ( ) { var b = this . pos , d = this . w , e = this . h ; return new c ( new a ( b . x , b . y ) , [ new a , new a ( d , 0 ) , new a ( d , e ) , new a ( 0 , e ) ] ) } , m . Response = e , e . prototype . clear = e . prototype . clear = function ( ) { return this . aInB = ! 0 , this . bInA = ! 0 , this . overlap = Number . MAX _VALUE , this } ; for ( var n = [ ] , o = 0 ; 10 > o ; o ++ ) n . push ( new a ) ; for ( var p = [ ] , o = 0 ; 5 > o ; o ++ ) p . push ( [ ] ) ; var q = - 1 , r = 0 , s = 1 ; return m . testCircleCircle = i , m . testPolygonCircle = j , m . testCirclePolygon = k , m . testPolygonPolygon = l , m } ) , c . Physics = { } , c . Physics . Arcade = function ( a ) { this . game = a , this . gravity = new c . Point , this . worldLeft = null , this . worldRight = null , this . worldTop = null , this . worldBottom = null , this . worldPolys = [ null , null , null , null ] , this . quadTree = new c . 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 . maxObjects = 10 , this . maxLevels = 4 , this . _mapData = [ ] , this . _mapTiles = 0 , this . _result = ! 1 , this . _total = 0 , this . _angle = 0 , this . _drag = 0 , this . _dx = 0 , this . _dy = 0 , this . _p = new c . Point ( 0 , 0 ) , this . _intersection = [ 0 , 0 , 0 , 0 ] , this . _gravityX = 0 , this . _gravityY = 0 , this . _response = new SAT . Response , this . setBoundsToWorld ( ! 0 , ! 0 , ! 0 , ! 0 ) } , c . Physics . Arcade . RECT = 0 , c . Physics . Arcade . CIRCLE = 1 , c . Physics . Arcade . POLYGON = 2 , c . Physics . Arcade . prototype = { checkBounds : function ( a ) { if ( ! a . collideWorldBounds || ! this . worldLeft && ! this . worldRight && ! this . worldTop && ! this . worldBottom ) return ! 1 ; this . _response . clear ( ) ; var b = SAT . testPolygonPolygon , d = a . polygon , e = ! 1 ; return a . type === c . Physics . Arcade . CIRCLE && ( b = SAT . testPolygonCircle , d = a . shape ) , this . worldLeft && b ( this . worldPolys [ 0 ] , d , this . _response ) ? ( a . blocked . left = ! 0 , d . pos . add ( this . _response . overlapV ) , a . blocked . x = Math . floor ( a . x ) , a . blocked . y = Math . floor ( a . y ) , e = ! 0 ) : this . worldRight && b ( this . worldPolys [ 1 ] , d , this . _response ) && ( a . blocked . right = ! 0 , d . pos . add ( this . _response . overlapV ) , a . blocked . x = Math . floor ( a . x ) , a . blocked . y = Math . floor ( a . y ) , e = ! 0 ) , this . _response . clear ( ) , this . worldTop && b ( this . worldPolys [ 2 ] , d , this . _response ) ? ( a . blocked . up = ! 0 , d . pos . add ( this . _response . overlapV ) , a . blocked . x = Math . floor ( a . x ) , a . blocked . y = Math . floor ( a . y ) , e = ! 0 ) : this . worldBottom && b ( this . worldPolys [ 3 ] , d , this . _response ) && ( a . blocked . down = ! 0 , d . pos . add ( this . _response . overlapV ) , a . blocked . x = Math . floor ( a . x ) , a . blocked . y = Math . floor ( a . y ) , e = ! 0 ) , e } , setBoundsToWorld : function ( a , b , c , d ) { this . setBounds ( this . game . world . bounds . x , this . game . world . bounds . y , this . game . world . bounds . width , this . game . world . bounds . height , a , b , c , d ) } , setBounds : function ( a , b , c , d , e , f , g , h ) { "undefined" == typeof e && ( e = ! 0 ) , "undefined" == typeof f && ( f = ! 0 ) , "undefined" == typeof g && ( g = ! 0 ) , "undefined" == typeof h && ( h = ! 0 ) ; var i = 100 ; e ? ( this . worldLeft = new SAT . Box ( new SAT . Vector ( a - i , b ) , i , d ) , this . worldPolys [ 0 ] = this . worldLeft . toPolygon ( ) ) : ( this . worldLeft = null , this . worldPolys [ 0 ] = null ) , f ? ( this . worldRight = new SAT . Box ( new SAT . Vector ( a + c , b ) , i , d ) , this . worldPolys [ 1 ] = this . worldRight . toPolygon ( ) ) : ( this . worldRight = null , this . worldPolys [ 1 ] = null ) , g ? ( this . worldTop = new SAT . Box ( new SAT . Vector ( a , b - i ) , c , i ) , this . worldPolys [ 2 ] = this . worldTop . toPolygon ( ) ) : ( this . worldTop = null , this . worldPolys [ 2 ] = null ) , h ? ( this . worldBottom = new SAT . Box ( new SAT . Vector ( a , b + d ) , c , i ) , this . worldPolys [ 3 ] = this . worldBottom . toPolygon ( ) ) : ( this . worldBotto
2014-01-31 10:34:18 +00:00
a . scale . setTo ( b , b ) } a . body . friction = this . particleFriction , a . body . angularDrag = this . angularDrag } } , c . Particles . Arcade . Emitter . prototype . setSize = function ( a , b ) { this . width = a , this . height = b } , c . Particles . Arcade . Emitter . prototype . setXSpeed = function ( a , b ) { a = a || 0 , b = b || 0 , this . minParticleSpeed . x = a , this . maxParticleSpeed . x = b } , c . Particles . Arcade . Emitter . prototype . setYSpeed = function ( a , b ) { a = a || 0 , b = b || 0 , this . minParticleSpeed . y = a , this . maxParticleSpeed . y = b } , c . Particles . Arcade . Emitter . prototype . setRotation = function ( a , b ) { a = a || 0 , b = b || 0 , this . minRotation = a , this . maxRotation = b } , c . Particles . Arcade . Emitter . prototype . at = function ( a ) { a . center && ( this . emitX = a . center . x , this . emitY = a . center . y ) } , Object . defineProperty ( c . Particles . Arcade . Emitter . prototype , "alpha" , { get : function ( ) { return this . _container . alpha } , set : function ( a ) { this . _container . alpha = a } } ) , Object . defineProperty ( c . Particles . Arcade . Emitter . prototype , "visible" , { get : function ( ) { return this . _container . visible } , set : function ( a ) { this . _container . visible = a } } ) , Object . defineProperty ( c . Particles . Arcade . Emitter . prototype , "x" , { get : function ( ) { return this . emitX } , set : function ( a ) { this . emitX = a } } ) , Object . defineProperty ( c . Particles . Arcade . Emitter . prototype , "y" , { get : function ( ) { return this . emitY } , set : function ( a ) { this . emitY = a } } ) , Object . defineProperty ( c . Particles . Arcade . Emitter . prototype , "left" , { get : function ( ) { return Math . floor ( this . x - this . width / 2 ) } } ) , Object . defineProperty ( c . Particles . Arcade . Emitter . prototype , "right" , { get : function ( ) { return Math . floor ( this . x + this . width / 2 ) } } ) , Object . defineProperty ( c . Particles . Arcade . Emitter . prototype , "top" , { get : function ( ) { return Math . floor ( this . y - this . height / 2 ) } } ) , Object . defineProperty ( c . Particles . Arcade . Emitter . prototype , "bottom" , { get : function ( ) { return Math . floor ( this . y + this . height / 2 ) } } ) , c . Tile = function ( a , b , c , d , e , f ) { this . layer = a , this . index = b , this . x = c , this . y = d , this . width = e , this . height = f , this . alpha = 1 , this . properties = { } , this . scanned = ! 1 , this . faceTop = ! 1 , this . faceBottom = ! 1 , this . faceLeft = ! 1 , this . faceRight = ! 1 , this . collides = ! 1 , this . collideNone = ! 0 , this . collideLeft = ! 1 , this . collideRight = ! 1 , this . collideUp = ! 1 , this . collideDown = ! 1 , this . callback = null , this . callbackContext = this } , c . Tile . prototype = { setCollisionCallback : function ( a , b ) { this . collisionCallbackContext = b , this . collisionCallback = a } , destroy : function ( ) { this . collisionCallback = null , this . collisionCallbackContext = null , this . properties = null } , setCollision : function ( a , b , c , d ) { this . collideLeft = a , this . collideRight = b , this . collideUp = c , this . collideDown = d , this . collideNone = a || b || c || d ? ! 1 : ! 0 } , resetCollision : function ( ) { this . collideNone = ! 0 , this . collideLeft = ! 1 , this . collideRight = ! 1 , this . collideUp = ! 1 , this . collideDown = ! 1 } , copy : function ( a ) { this . index = a . index , this . alpha = a . alpha , this . properties = a . properties , this . collides = a . collides , this . collideNone = a . collideNone , this . collideUp = a . collideUp , this . collideDown = a . collideDown , this . collideLeft = a . collideLeft , this . collideRight = a . collideRight , this . collisionCallback = a . collisionCallback , this . collisionCallbackContext = a . collisionCallbackContext } } , c . Tile . prototype . constructor = c . Tile , Object . defineProperty ( c . Tile . prototype , "canCollide" , { get : function ( ) { return this . collides || this . collisionCallback || this . layer . callbacks [ this . index ] } } ) , Object . defineProperty ( c . Tile . prototype , "left" , { get : function ( ) { return this . x } } ) , Object . defineProperty ( c . Tile . prototype , "right" , { get : function ( ) { return this . x + this . width } } ) , Object . defineProperty ( c . Tile . prototype , "top" , { get : function ( ) { return this . y } } ) , Object . defineProperty ( c . Tile . prototype , "bottom" , { get : function ( ) { return this . y + this . height } } ) , c . Tilemap = function ( a , b ) { this . game = a , this . key = b ; var d = c . TilemapParser . parse ( this . game , b ) ; null !== d && ( this . width = d . width , this . height = d . height , this . tileWidth = d . tileWidth , this . tileHeight = d . tileHeight , this . orientation = d . orientation , this . version = d . version , this . properties = d . properties , this . widthInPixels = d . widthInPixels , this . heightInPixels = d . heightInPixels , this . layers = d . layers , this . tilesets = d . tilesets , this . tiles = d . tiles , this . objects = d . objects , this . images = d . images , this . currentLayer = 0 , this . debugMap = [ ] , this . _results = [ ] , this . _tempA = 0 , this . _tempB = 0 ) } , c . Tilemap . CSV = 0 , c . Tilemap . TILED _JSON = 1 , c . Tilemap . prototype